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