java中的集合
1.基本信息
Collection
类型:接口
包:java.util
主要子类接口:
- List 有序的 collection,通常称为列表
- ArrayList
- LinkedList
- Set 一个不包含重复元素的 collection,通常称为集合
- HashSet
- TreeSet
与数组不同点:
- 数组:长度确定,类型确定。
- 类型可以是基本类型、引用类型
- 集合:长度不固定(最大的优势)
- 元素类型只能是引用类型。
2.主要方法
//实现迭代器
Iterator listIterator = arraylist.Iterator
//迭代器使用
while(listIterator.hasNext()){
System.out.println(listIterator.next());
}
如果hashNext()返回了false的情况下,再继续调用next()方法会抛出异常:java.util.NoSuchElementException
迭代器的异常 java.util.ConcurrentModificationException
本质原因:
是使用迭代器进行迭代的过程中,未通过迭代器修改了集合的长度(一般就是插入的新的元素),迭代器并不知道。就会抛出并发修改异常
解决方案有两种:
- 用for循环实现。
- 添加或删除操作必须通过迭代器来进行