- Set
3.1 特点:无序、对象不能重复(eqauls) jdk1.8新特性hashset有序;1.7一下无序;
eqauls从Object继承,默认比较的内存地址
3.2 遍历
3.2.1 foreach
3.2.2 迭代器
面试题:collecttion的remove方法与迭代器的remove方法的区别
1.collecttion的remove每隔一个集合元素移除一个
2.collecttion的remove可能还会出现concurrentModificationException (set集合调用remove方法出现的)
3.3 常用实现类
HashSet
TreeSet:根据某种(规则)对里面的元素进行排序
规则1: java.lang.Comparable
规则2: java.util.Comparator
-
Map jdk1.8新特性Map有序;1.7以下无序
4.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复,如果键相同,值会覆盖
它没有继承Collection接口
4.2 遍历
3.2.1 先取出保存所有键的Set,再遍历Set即可(2种)
3.2.2 先取出保存所有Entry的Set,再遍历此Set即可(快速遍历Map)根据建取值 没有根据值取建快;
关于二叉树
https://blog.csdn.net/zhangyuan19880606/article/details/51234420/
list集合与set集合的remove方法的区别
HashSet、linkedHashSet与treeset的区别
jdk8以上
1.HashSet/treeset本身具有排序功能
2.linkedHashSet 怎么存怎么取
jdk7以下
1.HashSet是无序的
2.treeset默认是升序
3.linkedHashSet 怎么存怎么取
Map接口是单独的接口,不继承于collction接口
linkedHashSet
字符串出现的次数