首页 > 代码库 > 【JAVA集合框架之List与Set】

【JAVA集合框架之List与Set】

一、概述

JAVA的集合框架中定义了一系列的类,这些类都是存储数据的容器。与数组、StringBuffer(StringBuilder)相比,它的特点是:

1.用于存储对象。

2.集合长度可变。

3.不可以存储基本数据类型。

比较三种容器的特点:

数组必须存放同一种元素。
StringBuffer必须转换成字符串才能使用,如果想拿出单独的一个元素几乎不可能。
数据有很多使用对象存,对象有很多,使用集合存。

集合容器因为内部的数据结构不同有多种具体容器,不断的向上抽取就形成了集合框架。
框架的顶层就是Collection接口。

二、Collection接口

Set接口和List接口都实现了Collection接口,因此很明显的,Collection接口中存放的是Set接口和List接口的共性内容。

Collection接口中的方法:

1.添加。

 booleanadd(E e)
          确保此 collection 包含指定的元素(可选操作)。
 booleanaddAll(Collection<? extends E> c)
          将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。

其中,参数E可暂时理解为Object(实际上在JDK1.4之前使用的一直都是Object)。

2.删除

 booleanremove(Object o)
          从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
 booleanremoveAll(Collection<?> c)
          移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
 voidclear()
          移除此 collection 中的所有元素(可选操作)。

3.判断

 booleancontains(Object o)
          如果此 collection 包含指定的元素,则返回 true
 booleancontainsAll(Collection<?> c)
          如果此 collection 包含指定 collection 中的所有元素,则返回 true
 booleanisEmpty()
          如果此 collection 不包含元素,则返回 true

4.获取。

 intsize()
          返回此 collection 中的元素数。
Iterator<E>iterator()
          返回在此 collection 的元素上进行迭代的迭代器。

5.其它

 booleanretainAll(Collection<?> c)
          仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
 Object[]toArray()
          返回包含此 collection 中所有元素的数组。
<T> T[]
toArray(T[] a)
          返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

【JAVA集合框架之List与Set】