系统方法
- containsAll 判断是否包含
- retainAll 在调用者的集合中求两集合的交集
- removeAll 在调用者的集合中删除两集合的交集
- addAll 把传入的集合中的所有元素添加到调用的集合中
- addFirst 添加第一个元素
- addLast 从最后添加元素
- removeLast 删除最后一个元素
List特有方法
- add(int index,Object obj) 在索引处插入元素
- set(index,obj) 替换索引当前位置的值
- get(int index) 获取索引当前位置的值
remove(int index) 删除索引当前位置的值
举例使用
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
System.out.println(list);
// 插入时 索引不能大于size
list.add(3, "x");
System.out.println(list);
// 替换当前位置的值
list.set(2,"w");
System.out.println(list);
// 获取当前位置的值
String object = (String) list.get(3);
System.out.println(object);
// 删除当前位置的值
list.remove(1);
System.out.println(list);
输出:
[a, b, c, d]
[a, b, c, x, d]
[a, b, w, x, d]
x
[a, w, x, d]
List集合
ArrayList 特点
查询快 增删慢LinkedList 特点
查询慢 增删快
iterator迭代器遍历用法
Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
// 注意:迭代器遍历时 循环中只能调用一次next方法
Iterator iterator = collection.iterator();
// 当调用hasNext时 会判断 下一个位置有没有元素
// hasNext 不会改变指针位置
// next()方法 会获取下一个元素的值
while (iterator.hasNext()) {
Object object = iterator.next();
System.out.println(object);
}
输出 : a , b , c , d
如果遍历时,修改集合长度,需要使用List特有的迭代器listIterator
ArrayList list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
ListIterator listIterator = list.listIterator();
while (listIterator.hasNext()) {
// 强转类型
String str = (String)listIterator.next();
if (str.equals("b")) {
// 添加字符串,改变了长度
listIterator.add("OK");
}
}
System.out.println(list);
}
输出: a , b , OK , c , d