一、
当增强for循环以及迭代过程中,不允许改变集合的长度
二、Set

无序:即实际存放的顺序与当时存入的顺序不一致
三、Set集合无序的原理
根据存储数据的特征通过特定的算法形成的散列地址
不是同一个对象(即equals比较为false),但是散列地址相同,这种现象称为碰撞
以下面这组数为例


四、Set集合遍历
1、迭代器
2、增强for循环
3、兰姆达表达式
五、TreeSet
二叉排序树
原理


5 3 1 2 4
六、TreeSet存储特征
1、要求存储的是同类数据,否则会报类型转换异常
2、同种类型的数据,可以按照数值大小、字典顺序、时间先后排序
3、当TreeSet中放入实体对象,需要指定排序规则,比如比id、比岁数,主要有两种方式
(1)在创建TreeSet对象时设置自定义的比较规则,具体来说就是创建一个Comparator实现类的对象并送到TreeSet的构造方法中
(2)或者让要放进TreeSet的实体类实现自Comparable接口
七、Set适合用途
一般适合存储唯一性的数据,如id、账号、用户名
八、Map集合概念


Map结合存入相同键的数据,原有的数据会被覆盖
key 键
value 值
九、Map的遍历
1、通过KeySet
2、通过entrySet
3、兰姆达表达式
十、Map集合的泛型
十一、Hashtable
Hashtable键值均不允许为null,而且Hashtable效率低
而HashMap键值均可为null,而且效率高,所以更常用
十二、TreeMap
根据键排序
TreeMap map = new TreeMap();
map.put(5, "haha");
map.put(3, "haha");
map.put(1, "haha");
map.put(2, "haha");
map.put(4, "haha");
map.forEach((k,v) -> {
System.out.println(k + "---" + v);
});
执行结果
1---haha
2---haha
3---haha
4---haha
5---haha
作业
模拟写一个电子词典程序,提前存储一些单词,该电子词典有三个功能
1、完全匹配查找单词,显示单词含义
2、模糊查询查找单词,不知道的模糊位用*占位,要求把符合的单词及其含义都列出来
3、退出程序
网友评论