List、Set、Map之间的区别是什么?

List、Set、Map的区别主要体现在两个方面:元素是否有序、是否允许元素重复。

三者之间的区别如下:

元素有序 允许元素重复 List 是 是 Set AbstractSet 否· 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 Key值必须唯一,value可重复 HashMap TreeMap 是(用二叉树排序)

二:HashMap和Hashtable有什么区别?

1. 存储:HashMap运行key和value为null,而Hashtable不允许。

2.线程安全:Hashtable是线程安全的,而HashMap是非线程安全的。

3.推荐使用:在Hashtable的类注释可以看到,Hashtable是保留类不建议使用,推荐在单线程环境下使用HashMap替代,如果需要多线程使用则用ConcurrentHashMap替代。

经验分享 程序员 微信小程序 职场和发展