import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/*
* 集合体系:
* Collection
* ----| List 如果实现了List接口的集合类,该类有序可重复:
* ----| Set 事项了Set接口的集合类,该类无序不可重复
*
* List接口
* 实现了该接口的类: ArrayList
* 注意: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 from INdex, int toINdex)
* 修改
* set(int index, E element)
*
* List集合类特有方法的特点:所有的方法都存在索引值,类似于python中的列表的操作,如果需要经常
* 使用导索引来操作集合,那么就使用List。
*
* 迭代
* listIterator() 返回的是一个List中特有的迭代器对象
* listIterator()特有的方法
*
* hasPrevious() 判断当前集合迭代器的游标所在位置是否有上一个元素false,有的话返回true ,没有返回
* previous() 迭代器的游标先向上移动一个位置,再获取当前位置的元素;
* next() 迭代器的游标先获取当前位置的元素,再向下移动一个位置。
*
* add(E e) 把元素插入迭代器游标所在的位置,同时游标也会下移一个位置
* set(E e) 使用e跌换爹地器最后一次放回的元素
*
* 总结:List集合元素遍历的方法:
* 1. 使用for + size() + get()方法
* 2. 使用ListIterator正序遍历方法 hasPrevious + previous
* 3. 使用ListIterator反序遍历方法 hasNext + next()
*注意:迭代器在使用的过程中的元素的过程中不能使用集合的方法来改变集合元素个数,只能使用迭代器的方法来改变元素的个数,否则会抛出异常
*迭代器从创建、使用到结束使用就是迭代器的过程
*
*/
public class Demo2 {
//1. 可重复以及有序验证
/*
* 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("凤姐");
//在指定位置插入另一个集合
list.addAll(2,list2);
*/
/*
*
System.out.println(list.get(0));
//遍历集合的元素
for(int i=0; i