Java常见集合接口的比较与区别

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: 从小到大排序 

猜你喜欢

转载自blog.csdn.net/bangboom666/article/details/81004828