dfajldjfakdjs
关于Java三大集合类Set,List和Map及各子类集合的区别
1. 所有常用集合类特性比较
集合类 | 常用具体实现类 | 是否有序 | 线程安全 | 元素可否为null | 元素是否可重复 | 操作效率 | 底层、实现 | ||||||||||||||||||
|
|
都有序,可以使用get(Index)方法取值 |
|
都允许 |
都可重 |
|
| ||||||||||||||||||
|
|
|
|
|
|
| |||||||||||||||||||
|
|
|
都是非线程安全的 |
|
都不可重复 |
|
| ||||||||||||||||||
|
|
|
|
|
|
|
| ||||||||||||||||||
|
|
|
|
|
键都不可重,值都可重 |
|
|
2. HashSet与TreeSet
- 当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。
- 而TreeSet支持两种排序方式,自然排序和定制排序,其中自然排序为默认的排序方式。向 TreeSet中加入的应该是同一个类的对象。TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0。
-
HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
- ……
3. HashMap和HashTable的区别
- ……/**以后再写**/