JAVA集集合类
来源:互联网 发布:java 异步日志 编辑:程序博客网 时间:2024/04/28 07:00
1、Collection 集合接口,指的是 java.util.Collection接口,是 Set、List 和 Queue 接口的超类接口 。它们之间的关系图可以百度下就有了。
2、集合有4种基本形式,其中前三种的父接口是Collection。
- List 关注事物的索引列表
- Set 关注事物的唯一性
- Queue 关注事物被处理时的顺序
- Map 关注事物的映射和键值的唯一性
- 3、Collection 接口
- add(E e)将指定对象添加到集合中remove(Object o)将指定的对象从集合中移除,移除成功返回true,不成功返回falsecontains(Object o)查看该集合中是否包含指定的对象,包含返回true,不包含返回flasesize()返回集合中存放的对象的个数。返回值为intclear()移除该集合中的所有对象,清空该集合。iterator()返回一个包含所有对象的iterator对象,用来循环遍历toArray()返回一个包含所有对象的数组,类型是ObjecttoArray(T[] t)返回一个包含所有对象的指定类型的数组
4、几个比较重要的接口和类简介
(1)List接口
List 关心的是索引,与其他集合相比,List特有的就是和索引相关的一些方法:get(int index) 、 add(int index,Object o) 、 indexOf(Object o) 。
ArrayList 可以将它理解成一个可增长的数组,它提供快速迭代和快速随机访问的能力。
LinkedList 中的元素之间是双链接的,当需要快速插入和删除时LinkedList成为List中的不二选择。
Vector 是ArrayList的线程安全版本,性能比ArrayList要低,现在已经很少使用
(2)Set接口
Set关心唯一性,它不允许重复。
HashSet 当不希望集合中有重复值,并且不关心元素之间的顺序时可以使用此类。
LinkedHashset 当不希望集合中有重复值,并且希望按照元素的插入顺序进行迭代遍历时可采用此类。
TreeSet 当不希望集合中有重复值,并且希望按照元素的自然顺序进行排序时可以采用此类。(自然顺序意思是某种和插入顺序无关,而是和元素本身的内容和特质有关的排序方式,譬如“abc”排在“abd”前面。)
(3)Queue接口
Queue用于保存将要执行的任务列表。
LinkedList 同样实现了Queue接口,可以实现先进先出的队列。
PriorityQueue 用来创建自然排序的优先级队列。番外篇中有个例子http://android.yaohuiji.com/archives/3454你可以看一下。
(4)Map接口
Map关心的是唯一的标识符。他将唯一的键映射到某个元素。当然键和值都是对象。
HashMap 当需要键值对表示,又不关心顺序时可采用HashMap。
Hashtable 注意Hashtable中的t是小写的,它是HashMap的线程安全版本,现在已经很少使用。
LinkedHashMap 当需要键值对,并且关心插入顺序时可采用它。
TreeMap 当需要键值对,并关心元素的自然排序时可采用它。
5、ArrayList的使用
基本操作、基本数据类型的的自动装箱、ArrayList本身不具备排序能力,但是我们可以使用Collections类的sort方法使其排序、数组和List之间的转换、在for-each出现之前,我们想遍历ArrayList中的每个元素我们会使用Iterator接口
http://www.cnblogs.com/lxmanutd/archive/2011/06/24/2088675.html
http://www.cnblogs.com/s3hengwu/archive/2012/04/21/2461848.html
- JAVA集集合类
- Java集合:集合类详解
- Java集合-常用集合类
- JAVA【集合一】集合类
- java集合框架类集详细总结
- java工具集和类库集合
- Java-集合工具集
- Java 集合集
- JAVA中的集合类
- JAVA中的集合类
- JAVA中的集合类
- Java集合类(整理)
- java集合类
- JAVA中的集合类
- Java集合类笔记
- JAVA中的集合类
- java集合类
- java集合类总结
- Back of the Envelope Calculations
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- 哎哟行行好啊让我收啊
- WSDL 详解
- Oracle物化视图2 -- Query Rewrite及参数
- JAVA集集合类
- Histograms of Oriented Gradients for Human Detection
- iOS开发:从新手到专家的一些建议
- 个人发展回顾年终总结
- Daily article(5)
- 【自由谈】城域网IPv6过渡技术——IVI
- [codility]equi
- ftpUtil实现文件上传和下载
- Java迭代器模式(Iterator)