JAVA集集合类

1、Collection 集合接口,指的是 java.util.Collection接口,是 Set、List 和 Queue 接口的超类接口 。它们之间的关系图可以百度下就有了。

2、集合有4种基本形式,其中前三种的父接口是Collection。

  •     List 关注事物的索引列表
  •     Set 关注事物的唯一性
  •     Queue 关注事物被处理时的顺序
  •     Map 关注事物的映射和键值的唯一性
  • 3、Collection 接口
  • add(E e) 将指定对象添加到集合中
    remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false
    contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase
    size() 返回集合中存放的对象的个数。返回值为int
    clear() 移除该集合中的所有对象,清空该集合。
    iterator() 返回一个包含所有对象的iterator对象,用来循环遍历
    toArray() 返回一个包含所有对象的数组,类型是Object
    toArray(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

put(K key, V value) 向集合中添加指定的键值对
putAll(Map <? extends K,? extends V> t) 把一个Map中的所有键值对添加到该集合
containsKey(Object key) 如果包含该键,则返回true
containsValue(Object value) 如果包含该值,则返回true
get(Object key) 根据键,返回相应的值对象
keySet() 将该集合中的所有键以Set集合形式返回
values() 将该集合中所有的值以Collection形式返回
remove(Object key) 如果存在指定的键,则移除该键值对,返回键所对应的值,如果不存在则返回null
clear() 移除Map中的所有键值对,或者说就是清空集合
isEmpty() 查看Map中是否存在键值对
size() 查看集合中包含键值对的个数,返回int类型
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值