(1迭代器、2List、3Set、4Map)
一、集合
Collection接口
Collection的方法
二、迭代器(在集合的基础上才有迭代器)
写法:Iterator it=c.iterator();
1、增强for(for)
2、lambda表达式遍历(foeEach)
3、集合在内存中执行原理
三、List
1、定义
2、List方法
3、List索引(有for循环)
4、ArrayList集合底层原理
四、LinkedList
1、原理
2、实现队列:addLast、removeFirst
3、实现栈:addFirst、removeFirst
五、Set
1、Set
HashSet
LinkedHashSet
TreeSet
2、hashSet
1 HashSet底层原理
JDK8前
JDK8后
2 实现:对象内容一样去重
3、LinkedHashSet
4、TreeSet(红黑树)
1、特点
2、重写方式一
巧记!!!:compareTo:是否需要交换位置
compareTo方法返回负数表示不需要交换位置(升序排序),返回正数需要交换位置
return other.age - this.age就是降序了:
重写方式二:
TreeSet的有参构造器,返回comparator对象
总结
六、集合并发修改异常:list.remove()和it.remove()
可变参数
七、Collections工具类
八、斗地主
1、牌对象:有三个属性
2、
创建一副牌
洗牌、发牌
九、Map集合
1、定义Map
重写了toString方法!
2、Map方法:keyset()、values()
获取值返回单列集合且可重复,左边写Collection
十、遍历Map
1、键找值
2、键值对 :entrySet()
ctrl+alt+v:补全返回值类型
封装成一个entries对象,泛型是Map.Entry<String,Double>
3、lambda表达式(还是第二种)
案例:景点选择统计结果
1、HashMap