java中list,set,map的区别
2016-04-26 14:25
337 查看
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。
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。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树