集合,就类似一个容器,可以存储多个数据。
之前学习的数组也是一种容器,而集合与数组主要区别在于:
Java的集合按照存储结构可以分为两类:单列集合Collection和双列集合Map,两类集合都在java.util
包中。
java.util
包主要提供了三种类型的集合:
Java集合的设计有两个特点:
Java中提供了丰富的集合类库,以下为Collection的继承体系:
Collection类是所有单列集合的父接口,其定义了一些通用方法,可以用于所有的单列集合。
主要有以下方法(不是全部):
boolean add(E e)
:把给定的对象添加到当前集合中void clear()
:清空集合中所有的元素boolean remove(Object o)
:把给定对象在当前集合中删除,删除成功返回true,失败返回falseboolean contains(Object o)
:判断当前集合中是否包含给定的对象,包含返回true,不包含返回falseboolean isEmpty()
:判断当前集合是否为空,为空返回true,不为空返回falseint size()
:返回集合中元素的个数Object[] toArray()
:把集合中的元素存储到数组中import java.util.*;
public class CollectionTest {
public static void main(String[] args) {
// 使用多态创建
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("张三");
c.add("李四");
c.add("王五");
System.out.println(c); // 输出:[张三, 李四, 王五]
// 判断是否包含一个"李四"的元素
System.out.println(c.contains("李四")); // 输出:true
// 删除"李四"
boolean ret = c.remove("李四");
System.out.println("删除李四成功?:" + ret); // 输出:删除李四成功?:true
// 再判断一次
System.out.println(c.contains("李四")); // 输出:false
// 判断集合是否为空
System.out.println(c.isEmpty()); // 输出:false
// 返回集合的个数
System.out.println(c.size()); // 输出:2
// 将集合转换为数组
Object[] array = c.toArray();
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}// 输出:张三 王五
System.out.println();
// 清空集合
c.clear();
// 判断集合是否为空
System.out.println(c.isEmpty()); // 输出:true
}
}