第一篇博客。
1.关于集合的迭代器。
创建集合的迭代器之后,如果集合被他的某个方法更改了,则这个迭代器立即变为无效。此后任何方法对这个集合的操作都会抛出ConcurrentModificationException异常。因此,迭代器被称为是“快速失效的。”-----摘自 《JAVA 程序员教程(第二版)》
2.双向迭代器
以list迭代器为例,
ListIterator <String> iterator=List.ListIterator(list.size());
3.深入集合内部(视图的理解和使用)
Arraylist类提供静态方法aslist()将一个数组当做一个集合来看待。
对数组的任何操作都会影响到视图,对视图的任何操作都会影响到数组。
允许对aslist方法返回的视图进行唯一的操作是set类型的操作,他会改变视图以及数组中支持的值。对视图进行的任何其他改变(比如添加或者删除元素),都会抛出异常。
例子:
package collection;
import java.util.Arrays;
import java.util.LinkedList;
public class UsingasList {
public static void main(String[] args) {
String[] colors = { "yellow", "blue", "red" };
LinkedList<String> link = new LinkedList<String>(Arrays.asList(colors));
link.add("love");
link.add("demo");
colors = link.toArray(new String[link.size()]);
for (String str : colors)
System.out.print(str + " ");
}
}