java集合框架知识总结
2015-07-01 11:02
218 查看
java集合框架图示:java集合类分为:set、list、map、queue四大体系,其中set代表无序、不可重复的集合;list代表有序、可重复的集合。map代表具有映射关系的集合;queue代表队列集合,Collection和Map,是集合框架的根接口。
下面依次介绍set、list、map、和queue以及他们的实现类:
set集合:set集合不允许包含相同的元素。使用equals方法判断两个元素是否相同并返回true(相同则不接受)或false。
HashSet实现了set接口,具有很好的存储和查找性能。HashSet判断两个元素的标准是两个元素的equals方法比较相等,同时两个对象的hasCode()方法返回值也相等。HashSet可以保存null元素。
List集合中的每个元素都有其对应的顺序索引。Arraylist和vector是list接口的两个典型实现。他们之间的显著区别就是:vector是线性安全的,而arraylist不是。它们两个都是基于数组实现的list类。List还有一个基于链表实现的LinkedList类。当插入、删除元素的速度非常快。这个类比较特殊,功能也特别多,即实现了List接口,也实现了Queue接口(双向队列)。可以当成双向队列使用,也可以当成栈使用。
Queue用于模拟队列的数据结构。LinkedList和ArrayDueue是其两个比较常用的实现类。
Map用于保存具有映射关系的数据。Map接口有如下几个常用的实现类:HashMap、HashTable、TreeMap。TreeMap是基于二叉树对TreeMap中所有key进行排序。HashMap和HashTable主要区别有两点:1、Hashtable是线性安全的,因此性能差些。2、HashMap可以使用null作为key或者value。
集合类还提供了一个工具类Collections。主要用于查找、替换、同步控制、设置不可变集合。
下面依次介绍set、list、map、和queue以及他们的实现类:
set集合:set集合不允许包含相同的元素。使用equals方法判断两个元素是否相同并返回true(相同则不接受)或false。
HashSet实现了set接口,具有很好的存储和查找性能。HashSet判断两个元素的标准是两个元素的equals方法比较相等,同时两个对象的hasCode()方法返回值也相等。HashSet可以保存null元素。
List集合中的每个元素都有其对应的顺序索引。Arraylist和vector是list接口的两个典型实现。他们之间的显著区别就是:vector是线性安全的,而arraylist不是。它们两个都是基于数组实现的list类。List还有一个基于链表实现的LinkedList类。当插入、删除元素的速度非常快。这个类比较特殊,功能也特别多,即实现了List接口,也实现了Queue接口(双向队列)。可以当成双向队列使用,也可以当成栈使用。
Queue用于模拟队列的数据结构。LinkedList和ArrayDueue是其两个比较常用的实现类。
Map用于保存具有映射关系的数据。Map接口有如下几个常用的实现类:HashMap、HashTable、TreeMap。TreeMap是基于二叉树对TreeMap中所有key进行排序。HashMap和HashTable主要区别有两点:1、Hashtable是线性安全的,因此性能差些。2、HashMap可以使用null作为key或者value。
集合类还提供了一个工具类Collections。主要用于查找、替换、同步控制、设置不可变集合。
相关文章推荐
- LeetCode_71---Simplify Path
- 【Java EE 学习 24 上】【注解详解】
- 用java对文件进行分割与合并
- 《Java课程实习》日志(周一)
- java:数组复制和排序
- java.lang.IllegalStateException解决
- Spring Boot开发
- Java 集合总结
- Java继承
- Spring Boot开发
- java中如何将string 转化成long
- LeetCode_69---Sqrt(x)
- javascrip中setTimeout和setInterval
- Core Java读书笔记之String
- 像写SQL一样编写Java数据应用-TinySqlDsl
- 【设计模式】代理模式详解
- 《Java课程实习》日志(周二)
- Java学习篇之---Maven打包资源配置
- java创建token
- 《Java课程实习》日志(周一)