日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Day 4:集合——迭代器与List接口

發(fā)布時(shí)間:2023/11/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Day 4:集合——迭代器与List接口 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Collection-迭代方法

1、toArray()? 返回Object類型數(shù)據(jù),接收也需要Object對(duì)象!?Object[] toArray();

  Collection c = new ArrayList();

  Object[] arr = c.toArray();

2、iterator()? Collection的方法,返回實(shí)現(xiàn)Iterator接口的對(duì)象,一般用Iterator接口類型數(shù)據(jù)接收,體現(xiàn)程序的多態(tài)性,是程序靈活的表現(xiàn)

?迭代器的作用:就是用于抓取集合中的元素。

迭代器的方法:
? ? ? ? ? ? hasNext()?? 問是否有元素可遍歷。如果有元素可以遍歷,返回true,否則返回false 。
? ? ? ? ? ? next() ? ? ? ? 獲取元素
? ? ? ? ? ? remove() ?? 移除迭代器最后一次返回 的元素。

NoSuchElementException 沒有元素的異常。
出現(xiàn)的原因: 沒有元素可以被迭代(抓取)了

import java.util.*; public class Demo1 {public static void main(String[] args) {Collection c = new ArrayList();Collection r = new ArrayList();c.add("李杰");c.add("李英");c.add("李漢斯");c.add("李漢三");c.add("狗蛋");Iterator b = c.iterator();Iterator h = r.iterator();//返回一個(gè)迭代器 //疑問:iterator()方法返回的是一個(gè)接口類型,為什么接口又可以調(diào)用方法可以使用呢? //iterator 實(shí)際 上返回的是iterator接口的實(shí)現(xiàn)類對(duì)象。 System.out.println(b.hasNext());System.out.println(h.hasNext());b.next();b.next();b.remove(); //刪除迭代器最后一次返回的元素。/*while(b.hasNext()){ // hasNext() 問是否有元素可以遍歷。System.out.println("元素:"+ b.next()); //獲取元素}*//*清空集合 的元素while(b.hasNext()){b.next();b.remove();}*/System.out.println("集合的元素:"+ c);} }

因?yàn)榈鞑粫?huì)返回元素,所以remove();方法不會(huì)主動(dòng)移除集合中數(shù)據(jù),需要配合next()使用。及刪除的是next()最后一次抓取的數(shù)據(jù)

遍歷集合的方法
1、
Object[] arr = c.toArray(); // toArray()? 把集合 的元素存儲(chǔ)到一個(gè) Object的數(shù)組中 返回。
for(int i = 0 ; i<arr.length ; i++){
?System.out.print(arr[i]+",");
}
2、使用hasNext() ? ?next()組合方法便利

while(it.hasNext()){

    User user = (User) it.next();

    if(user.account==id&&user.password.equals(password)){

    isLogin = true;

? ?? }

}

3、

使用get方法遍歷集合的元素:
??for (int i = 0; i < list.size() ; i++) {
???System.out.print(list.get(i)+",");
??}

集合的體系:

?Collection 單列集合 的根接口

?    List? 如果是實(shí)現(xiàn)了List接口的集合類,該集合類具備的特點(diǎn):有序,可重復(fù)

    Set?? 如果是實(shí)現(xiàn)了Set接口的集合類,該集合類具備的特點(diǎn): 無序,不可重復(fù)

List接口

有序: 集合的有序不是指自然順序,而是指添加進(jìn)去的順序與元素出來的順序是一致的

List接口中特有的方法具備的特點(diǎn): 操作的方法都存在索引值。?
只有List接口下面的集合類才具備索引值。其他接口下面的集合類都沒有索引值。

List接口中特有方法:    

添加

?  ?add(int index, E element)
?  ?addAll(int index, Collection<? extends E> c)
獲取:
??  get(int index)
??  indexOf(Object o)
  ??lastIndexOf(Object o)
??  subList(int fromIndex, int toIndex)
修改:
  ??set(int index, E element)

迭代

?  ?listIterator()

import java.util.*;public class Demo2 {public static void main(String[] args) {List list= new ArrayList();list.add("李杰");list.add("李英");list.add("李漢三"); list.add("李漢斯");/* //添加方法list.add(2, "李四"); List list2 = new ArrayList();list2.add("張三");list2.add("王二");list.addAll(2,list2);*//*//獲取的方法 System.out.println(list.get(1)); //根據(jù)索引值獲取集合中的元素使用get方法遍歷集合的元素:for (int i = 0; i < list.size() ; i++) {//判斷集合長(zhǎng)度用size()System.out.print(list.get(i)+",");}System.out.println(list.indexOf("李杰"));//找出指定元素第一次出現(xiàn)在集合中 的索引值System.out.println(list.lastIndexOf("李漢斯"));//找指定的元素最后一次出現(xiàn)在集合中的索引值List subList = list.subList(1, 3); //指定開始與結(jié)束的索引值截取集合中的元素。System.out.println(subList)//返回值是一個(gè)List輸出子集合的元素 */ list.set(3, "李白"); //使用指定的元素替換指定索引值位置的元素。 System.out.println(list);//輸出集合的元素,查看效果 } }

?

ListIterator接口特有的方法:
?
?添加:
??  hasPrevious()? 判斷是否存在上一個(gè)元素
  ??previous()??? 當(dāng)前指針先向上移動(dòng)一個(gè)單位,然后再取出當(dāng)前指針指向的元素
?  ?next();? 先取出當(dāng)前指針指向的元素,然后指針向下移動(dòng)一個(gè)單位
?  ?add(E e)?? 把當(dāng)前有元素插入到當(dāng)前指針指向的位置上
  ??set(E e)?? 替換迭代器最后一次返回的元素
??
?

import java.util.*;public class Demo3 {public static void main(String[] args) {List list = new ArrayList();list.add("李杰");list.add("李英");list.add("李漢三");list.add("李漢斯");ListIterator it = list.listIterator(); //返回的是一個(gè)List接口中特有的迭代器/*System.out.println(it.hasPrevious())//判斷是否有上一個(gè)元素,有true,沒有false System.out.println(it.previous());//獲取上一個(gè)元素it.next();System.out.println(it.previous());//獲取上一個(gè)元素 while(it.hasNext()){it.next();}while(it.hasPrevious()){System.out.println("元素:"+ it.previous());}it.next();it.next();it.add("李白");*/it.next();it.next();it.set("李白");System.out.println("集合的元素:"+ list); } }

作業(yè): 使用三種方式遍歷集合的元素. ?
  一、 使用get方法遍歷。
  二、 使用迭代器正序遍歷。
  三、 使用迭代器逆序遍歷。

import java.util.*; public class Demo4 {public static void main(String[] args) {List list = new ArrayList();list.add("李杰");list.add("李英");list.add("李漢三");for(int i = 0 ; i<list.size() ; i++){System.out.print(list.get(i)+",");}System.out.println();ListIterator it = list.listIterator();while(it.hasNext()){System.out.print(it.next()+",");}System.out.println();while(it.hasPrevious()){System.out.print(it.previous()+",");} } }

?

轉(zhuǎn)載于:https://www.cnblogs.com/JYDesigner/p/9339538.html

總結(jié)

以上是生活随笔為你收集整理的Day 4:集合——迭代器与List接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: bt男人天堂 | 五月天中文字幕av | 中文字幕乱伦视频 | 日本不卡视频在线观看 | 娇妻被肉到高潮流白浆 | 欧美激情电影一区二区 | 久久视频中文字幕 | 亚洲欧洲视频在线观看 | 在线免费观看国产精品 | 97caoporn| 91精品国产综合久久久蜜臀九色 | 欧美性一区二区 | 欧美黄页 | 99精品一级欧美片免费播放 | a级欧美| 国产精品免费久久久久 | 精品人妻人人做人人爽夜夜爽 | 久久中文字幕一区 | 国语久久 | 少妇人妻真实偷人精品视频 | 黄色大片毛片 | 黄色链接视频 | 对白刺激国产子与伦 | 国产伦精品免费视频 | 色中文在线 | 国产欧美日韩在线观看 | 成人精品视频一区二区 | 精品国产自 | 亚洲国产一区二区三区在线观看 | av导航在线观看 | 国产精品欧美久久久久久 | 日本一区久久 | 男人午夜免费视频 | 尤物视频官网 | 欧美三级欧美成人高清 | 国产大学生视频 | 欧美成人综合在线 | 亚洲一区免费在线 | 亚洲av中文无码乱人伦在线视色 | 国产欧美精品一区二区三区app | 日韩av三区 | 国产白浆视频 | 久久久婷| 女人扒开腿让男人桶爽 | 久久久人体 | 蜜桃91丨九色丨蝌蚪91桃色 | 狠狠婷婷 | 女同在线观看 | 亚洲欧美另类综合 | 欧美乱妇一区二区三区 | 天天碰天天干 | 国产 一二三四五六 | 国产人妻一区二区三区四区五区六 | 秘密基地电影免费版观看国语 | 婷婷国产成人精品视频 | 日本精品一二区 | 国产精品99久久久久久久久久久久 | 欧美自拍偷拍一区二区 | 9色视频 | 伊人久久超碰 | 色窝| 悟空影视大全免费高清观看在线 | 777久久 | 大肉大捧一进一出好爽视频 | 在线观看中文字幕一区二区 | 高潮一区二区三区乱码 | 人人色视频 | 亚洲欧美综合自拍 | 久久亚洲天堂网 | 综合性色 | 777理伦三级做爰 | 国产一级做a爰片久久毛片男男 | 在线视频观看一区 | 日本视频久久 | 日韩欧美自拍 | 精品国产a | 日韩成人在线视频 | 夜夜爽妓女8888视频免费观看 | 欧美午夜三级 | 成年人91视频 | 在线观看av的网址 | 国产精品中文无码 | 狠狠做 | 波多野结衣中文字幕一区二区三区 | 日日燥夜夜燥 | 大地av| 蝌蚪网在线视频 | 少妇搡bbbb搡bbb搡澳门 | 亚洲第五页 | 放荡的少妇2欧美版 | 亚洲五码av | 久草视频在线免费看 | 亚洲一区二区高清视频 | 午夜免费播放观看在线视频 | 成人av影院 | 欧美永久免费 | 久久久久亚洲日日精品 | 欧美精品一区二区三区久久久 | 18视频在线观看网站 |