1、稀疏数组
2、
3、二叉排序树(搜索树),红黑树
3.1、HashSet,底层是个HashMap实例(结构),查询快;
jdk1.8版本后,哈希表结构是——数组+链表+红黑树;
- HashSet存储的元素应该重写hashcode()与equals()方法(用于判断往set存入的两元素是否重复);Eclipse ide可自动生成此两方法;
Java的equals方法实现及其细节:
https://www.cnblogs.com/stevenshen123/p/9199354.html
equals()与hashCode()方法协作约定:
https://blog.csdn.net/violet_echo_0908/article/details/50167939
3.2、hashcode()方法,String类重写了该方法;LinkedHashSet,结构中加了个链表保证它是有序的(和存入的顺序一致)。
3.3、Hashtable不能存储空值空健,HashMap可以;Properties是Hashtable的子类;
3.4、jdk9,List.of(E… input);Set.of(), Map.of()方法,初始化时添加元素。添加完后,List不能再add(),Set不能添加重复元素,具体看源码;