1.ArrayList VS HashSet
ArrayList: 有顺序
HashSet: 无顺序
List中的数据可以重复
Set中的数据不能够重复
重复判断标准是:
首先看hashcode是否相同
如果hashcode不同,则认为是不同数据
如果hashcode相同,再比较equals,如果equals相同,则是相同数据,否则是不同数据
2.ArrayList VS LinkedList
ArrayList 插入,删除数据慢;定位快
LinkedList 插入,删除数据快;定位慢
3.HashMap VS HashTable
HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
区别1:
HashMap可以存放 null作为key或者value
Hashtable不能存放null
区别2:
HashMap不是线程安全的类
Hashtable是线程安全的类
4.几种Set
所有Set:数据不可重复
HashSet: 无序
LinkedHashSet: 按照插入顺序
TreeSet: 从小到大排序
ArrayList: 有顺序
HashSet: 无顺序
List中的数据可以重复
Set中的数据不能够重复
重复判断标准是:
首先看hashcode是否相同
如果hashcode不同,则认为是不同数据
如果hashcode相同,再比较equals,如果equals相同,则是相同数据,否则是不同数据
2.ArrayList VS LinkedList
ArrayList 插入,删除数据慢;定位快
LinkedList 插入,删除数据快;定位慢
3.HashMap VS HashTable
HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
区别1:
HashMap可以存放 null作为key或者value
Hashtable不能存放null
区别2:
HashMap不是线程安全的类
Hashtable是线程安全的类
4.几种Set
所有Set:数据不可重复
HashSet: 无序
LinkedHashSet: 按照插入顺序
TreeSet: 从小到大排序