/*
* Collection
* |--list:元素有序,元素可以重复,因为该集合有索引
* |ArrayList:底层的数据结构是数据结构。特点:查询速度很快,但是增删慢(线程不同步)
* |LinkedList:底层使用的链表数据结构。特点:查询速度慢,增删快(集合面试不能挂。。。)
* |Vector:底层是数组结构(线程同步,被ArrayList替代)
* (注:ArrayList初始10,每次延长50%,Vector初始10,每次延长100%)*
* |--set:元素无序,元素不可重复
*
*
* List特有方法:
* 凡是可以操作角标的方法都是特有方法.
* 增:
* add(index,element);
* addAll(index,Collection);
* 删:
* remove(index);
* 改:
* set(index,element);
* 查:
* get(index);
* subList(from,to);
* listIterator();
*
* List集合特有迭代器,ListIterator是Iterator的子接口。
* 在迭代时,不可以通过集合对象的方法操作集合中的元素。
*因为会发生ConcurrentModificationExpection异常
*
* 所以,在迭代器时,只能用迭代器的方法操作元素,可是Iterator方法是有限的,
* 只能对元素进行判断,取出,删除的操作。
* 如果想要其他的操作,如添加,修改等就需要使用其子接口,ListIterator.
*
* 该接口只能通过List集合的 listIterator方法获取。
*
*
*
*/
package test.itheima;
import java.util.*;
public class ListDemo {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
System.out.println("Original al: " + al);
/*
* 使用iterator方法 // 在迭代过程中添加或者删除元素 Iterator it = al.iterator();
*
* while (it.hasNext()) { Object obj = it.next();
*
* if (obj.equals("java02")) { //al.add("java01010");会有异常 it.remove(); }
*
* System.out.println("obj=" + obj); }
* System.out.println("Modified al: " + al);
*/
// 使用listIterator
ListIterator li = al.listIterator();
while (li.hasNext()) {
Object obj = li.next();
if (obj.equals("java02")) {
//li.add("java101010");
li.set("thisModified");
}
}
System.out.println("Modified al: " + al);
}
public static void method() {
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java03");
System.out.println("Original al: " + al);
// 指定位置添加元素:
al.add(1, "java09");
System.out.println("add al: " + al);
// 指定位置删除元素:
al.remove(2);
System.out.println("remove al: " + al);
// 指定位置修改元素:
al.set(0, "java0001");
System.out.println("modify al: " + al);
// 通过角标获取元素:
System.out.println("get al: " + al.get(0));
// 获取所有元素:
for (Iterator it = al.iterator(); it.hasNext();) {
System.out.println(it.next());
}
}
}
[黑马程序员]集合_List总结
最新推荐文章于 2022-10-13 23:49:09 发布