java中list,set,map的区别(笔记记录)

来源:互联网 发布:淘宝如何设计水印图 编辑:程序博客网 时间:2024/06/05 10:57

java中list,set,map的区别:
1.List,Set,Map都是接口,都有各自的实现类。
2.list和set都继承Collection借口,Map是以键值对存贮数据的。
3.list是有序可重复集,set是无序不可重复集,这里的顺序指的是向集合中添加元素的顺序,即调用集合的add()方法。
4.list接口下主要有Arraylist和LinkedList两个实现类,其中Arraylist底层是由数组实现的,所以查询速度快,添加和删除速度慢。LinkedList底层是由链表实现的,添加的删除元素速度快,查询的速度慢。
5.Set接口下主要有HashSet、TreeSet、LinkedHashSet这几个类,Set具有与Collection完全一样的接口,因此没有任何额外的功能。其中set的无序指的是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的。
6.Map是以键值对存储数据的,主要有HashMap,HashTable,LinkeHashMap ,其中HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null。

0 0