黑马程序员技术交流社区
标题:
成都校区+集合
[打印本页]
作者:
陈锐
时间:
2019-4-25 08:47
标题:
成都校区+集合
集合体系
Collection(单列集合)
在jdk1.5 以前是单列集合的顶层父类
在jdk1.5以后,多出了一个iterable 接口 Iterator iterator = iterator() 方法
List(有序) 有序:存进去和取出来的顺序是一致
Set (无序) 无序:存进去的顺序和取出来的顺序不一致
Collection中常见的方法
1.add() 添加元素
2.remove(元素)
3.isEmpty() 判断元素是否为空
4.clear() 清空集合元素
5.contains() 判断集合中是否存在某一个元素
List 体系下特有的方法
1.get(索引)
2.set(索引,值)
3.remove(索引)
4.add(索引,值)
集合的遍历
Collection<Integer> coll = new ArrayList();
Iterator<Integer> it = coll.iterator();
while(it.hasNext()){
list.add();
Integer num = it.next();
}
并发修改异常&&源码
1.指的是在使用迭代器迭代过程中,使用集合修了其长度,抛出并发修改异常
原理:期望值和修改值不一致 --> 每次修改集合长度,modCount 会变,而期望值不变
在进行next 方法取出元素时,对应期望值和修改值不相等,于是抛出并发修改异常
解决: 使用listIterator
ArrayList<Integer> coll = new ArrayList();
ListIterator<Integer> lit = coll.listIterator();
while(lit.hasNext()){
lit.add();
Integer num = it.next();
}
增强for
1.增强for语法
for(被遍历的数据类型 临时变量名 : 需要被遍历的数组或者集合){
.....
}
2.增强for 底层实际上,就是一个迭代器
3.增强for在遍历过程中,不能对元素进行修改
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2