List概念
- 有序
- 有下标
- 元素可重复
创建集合对象
List list = new ArrayList<>();
常用方法
- void add(int index, E e) 指定位置index插入e。
- boolean addAll(int index, Collection c) 指定位置index插入c的所有元素。
- Object get(int index) 指定位置index提取出元素。
- int indexOf(Object o) 返回第一次查找到元素o的索引,如果没有则返回-1。
- E remove(int index) 移除位置为index的元素。
- E set(int index, E element) 指定位置index的元素改为E。
- List subList(int one, int two) 输出索引one到two的List集合。
- ListIterator listIterator() 返回此列表元素的列表迭代器(按适当顺序)。
- ListIterator listIterator(int index) 从指定位置开始index返回此列表元素的列表迭代器(按适当顺序)。
iterator 和ListIterator的区别
- ListIterator 可以在遍历集合时添加,修改和删除。
- ListIterator 只用于List和其子类。iterator用于所有单列集合。
- ListIterator有更多的功能。
List的遍历
1,普通for循环
for(int i=0;i<list.size();i++){
sout(list.get(i);
}
2,增强for循环
for(Object obj : list){
sout(obj);
}
3,使用迭代器
Iterator it = collection.iterator();
while(it.hasNext()){
String object = (String)it.next(); //强转
// 可以使用it.remove(); 进行移除元素
// collection.remove(); 不能用collection其他方法 会报并发修改异常
}
4,使用列表迭代器
上文有与迭代器的区别。
ListIterator li = list.listIterator();
while(li.hasNext()){
System.out.println(li.nextIndex() + ":" + li.next()); //从前往后遍历
}
while(li.hasPrevious()){
System.out.println(li.previousIndex() + ":" + li.previous()); //从后往前遍历
}
正文完