java入門(mén) -- List接口使用詳解(含迭代器)

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

import java.util.List;

import java.util.ListIterator;

/*

* 集合體系:

* Collection

* ----| List 如果實(shí)現(xiàn)了List接口的集合類(lèi)鞠苟,該類(lèi)有序可重復(fù):

* ----| Set 事項(xiàng)了Set接口的集合類(lèi),該類(lèi)無(wú)序不可重復(fù)

*

* List接口

* 實(shí)現(xiàn)了該接口的類(lèi): ArrayList

* 注意:List中的有序不是指自然有序僻爽,而是指添加的順序和遍歷出來(lái)的順序是一致的夹厌。

*

* List中特有的方法:

* 添加:

* add(int index, E element)

* addAll(int index, Collection南蹂? extends E> c)

* 獲取

* get(int index)

* indexOf(Object o)

* lastIndexOf(Object o)

* subList(int from INdex, int toINdex)

* 修改

* set(int index, E element)

*

*? List集合類(lèi)特有方法的特點(diǎn):所有的方法都存在索引值,類(lèi)似于python中的列表的操作栈雳,如果需要經(jīng)常

* 使用導(dǎo)索引來(lái)操作集合丘逸,那么就使用List次屠。

*

* 迭代

* listIterator() 返回的是一個(gè)List中特有的迭代器對(duì)象

* listIterator()特有的方法

*

* hasPrevious() 判斷當(dāng)前集合迭代器的游標(biāo)所在位置是否有上一個(gè)元素false,有的話(huà)返回true 媒楼,沒(méi)有返回

* previous() 迭代器的游標(biāo)先向上移動(dòng)一個(gè)位置乐尊,再獲取當(dāng)前位置的元素;

* next() 迭代器的游標(biāo)先獲取當(dāng)前位置的元素,再向下移動(dòng)一個(gè)位置划址。

*

* add(E e) 把元素插入迭代器游標(biāo)所在的位置,同時(shí)游標(biāo)也會(huì)下移一個(gè)位置

* set(E e) 使用e跌換爹地器最后一次放回的元素

*

* 總結(jié):List集合元素遍歷的方法:

* 1. 使用for + size() + get()方法

* 2. 使用ListIterator正序遍歷方法 hasPrevious + previous

* 3. 使用ListIterator反序遍歷方法 hasNext + next()

*注意:迭代器在使用的過(guò)程中的元素的過(guò)程中不能使用集合的方法來(lái)改變集合元素個(gè)數(shù)扔嵌,只能使用迭代器的方法來(lái)改變?cè)氐膫€(gè)數(shù)限府,否則會(huì)拋出異常

*迭代器從創(chuàng)建、使用到結(jié)束使用就是迭代器的過(guò)程

*

*/

public class Demo2 {

//1. 可重復(fù)以及有序驗(yàn)證

/*

* public static void main(String[] args){

Collection c = new ArrayList();

c.add("張山1");

c.add("張山");

c.add("張山");

c.add("張山2");

c.add("張山3");

Iterator iter = c.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

}

}

*/

public static void main(String[] args){

List list = new ArrayList();

list.add("張珊"); //add是將元素添加到末尾

list.add("李四");

list.add("王五");

/*

list.add(2,"趙六"); //在指定位置添加元素

*/

Iterator iter = list.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

}

/*

List list2 = new ArrayList();

list2.add("龍哥");

list2.add("鳳姐");

//在指定位置插入另一個(gè)集合

list.addAll(2,list2);

*/

/*

*

System.out.println(list.get(0));

//遍歷集合的元素

for(int i=0; i

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痢缎,一起剝皮案震驚了整個(gè)濱河市胁勺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌独旷,老刑警劉巖署穗,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異嵌洼,居然都是意外死亡案疲,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)麻养,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)褐啡,“玉大人,你說(shuō)我怎么就攤上這事回溺〈好常” “怎么了混萝?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵遗遵,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我逸嘀,道長(zhǎng)车要,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任崭倘,我火速辦了婚禮翼岁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘司光。我一直安慰自己琅坡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布残家。 她就那樣靜靜地躺著榆俺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坞淮。 梳的紋絲不亂的頭發(fā)上茴晋,一...
    開(kāi)封第一講書(shū)人閱讀 51,562評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音回窘,去河邊找鬼诺擅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛啡直,可吹牛的內(nèi)容都是我干的烁涌。 我是一名探鬼主播苍碟,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼撮执!你這毒婦竟也來(lái)了驰怎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤二打,失蹤者是張志新(化名)和其女友劉穎县忌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體继效,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡症杏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瑞信。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厉颤。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖凡简,靈堂內(nèi)的尸體忽然破棺而出逼友,到底是詐尸還是另有隱情,我是刑警寧澤秤涩,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布帜乞,位于F島的核電站,受9級(jí)特大地震影響筐眷,放射性物質(zhì)發(fā)生泄漏黎烈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一匀谣、第九天 我趴在偏房一處隱蔽的房頂上張望照棋。 院中可真熱鬧,春花似錦武翎、人聲如沸烈炭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)符隙。三九已至,卻和暖如春卑惜,著一層夾襖步出監(jiān)牢的瞬間膏执,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工露久, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留更米,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓毫痕,卻偏偏與公主長(zhǎng)得像征峦,于是被迫代替她去往敵國(guó)和親迟几。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Java源碼研究之容器(1) 如何看源碼 很多時(shí)候我們看源碼, 看完了以后經(jīng)常也沒(méi)啥收獲, 有些地方看得懂, 有些...
    駱駝騎士閱讀 994評(píng)論 0 22
  • java筆記第一天 == 和 equals ==比較的比較的是兩個(gè)變量的值是否相等栏笆,對(duì)于引用型變量表示的是兩個(gè)變量...
    jmychou閱讀 1,497評(píng)論 0 3
  • 1.Java集合框架是什么类腮?說(shuō)出一些集合框架的優(yōu)點(diǎn)? 每種編程語(yǔ)言中都有集合蛉加,最初的Java版本包含幾種集合類(lèi):V...
    Oneisall_81a5閱讀 901評(píng)論 0 11
  • 一.集合框架 1.集合框架(對(duì)象數(shù)組的概述和使用) a.案例演示 * 需求:我有5個(gè)學(xué)生蚜枢,請(qǐng)把這個(gè)5個(gè)學(xué)生的信息存...
    夢(mèng)游的沙師弟閱讀 549評(píng)論 0 1
  • 1 場(chǎng)景問(wèn)題# 1.1 工資表數(shù)據(jù)的整合## 考慮這樣一個(gè)實(shí)際應(yīng)用:整合工資表數(shù)據(jù)。 這個(gè)項(xiàng)目的背景是這樣的针饥,項(xiàng)目...
    七寸知架構(gòu)閱讀 2,550評(píng)論 0 53