首页 > 代码库 > Java中集合类
Java中集合类
一、Collection
Collection 接口用于表示任何对象或元素组。想要尽可能以常规方式处理一组元素时,就使用这一接口。Collection 在前面的大图也可以看出,它是List 和 Set 的父类。并且它本身也是一个接口。它定义了作为集合所应该拥有的一些方法。如下:
注意:集合必须只有对象,集合中的元素不能是基本数据类型。
Collection 接口支持如添加和除去等基本操作。设法除去一个元素时,如果这个元素存在,除去的仅仅是集合中此元素的一个实例。
boolean add(Object element)boolean remove(Object element)
Collection 接口还支持查询操作:
int size()boolean isEmpty()boolean contains(Object element)Iterator iterator()
组操作 :Collection 接口支持的其它操作,要么是作用于元素组的任务,要么是同时作用于整个集合的任务。
boolean containsAll(Collection collection) boolean addAll(Collection collection) void clear() void removeAll(Collection collection) void retainAll(Collection collection)
例子:
public static void main(String[] args) { // TODO Auto-generated method stub Collection<String> collection1=new ArrayList<String>();//创建一个集合对象 collection1.add("000");//添加对象到 Collection 集合中 collection1.add("111"); collection1.add("222"); System.out.println("集合 collection1 的大小:"+collection1.size()); System.out.println("集合 collection1 的内容:"+collection1); collection1.remove("000");//从集合 collection1 中移除掉 "000" 这个对象 System.out.println("集合 collection1 移除 000 后的内容:"+collection1); System.out.println("集合 collection1 中是否包含 000 : "+collection1.contains("000")); System.out.println("集合 collection1 中是否包含 111 : "+collection1.contains("111")); Collection collection2=new ArrayList(); collection2.addAll(collection1);//将 collection1 集合中的元素全部都加到 collection2中 System.out.println("集合 collection2 的内容:"+collection2); collection2.clear();//清空集合 collection1 中的元素 System.out.println("集合 collection2 是否为空 :"+collection2.isEmpty()); //将集合 collection1 转化为数组 Object s[]= collection1.toArray(); for(int i=0;i<s.length;i++){ System.out.println(s[i]); }
//使用迭代器
Iterator<String> it = collection1.iterator();
while(it.hasNext()){
String a = it.next();
System.out.println("==="+a);
}
}
2、List接口
(1)基本思想
用来存储有顺序的一组数据的集合。
(2)特点
A:存储的数据信息是有顺序的
B:允许出现重复值
C:存的是各种类型的对象
(3)主要的实现类
数组、Vector(向量)、ArrayList
Vector是起程不安全的ArrayList是线程安全的。
(4)Vector的使用
A:实例化
Vector vc=new Vector();
意味着:系统已经为我们准备了默认的10个地址空间,等待进行数据写入。也允许我们我们自己进行指定初始化的容量大小以及增长量。
B:添加数据
注意:添加的是各种类型的对象数据
C:遍历数据
第一种方式:利用for循环进行遍历。注意前提:必须先判断Vector对象是否存在。
第二种方式:利用枚举对象进行遍历Enumeration
D:删除数据
按照索引删除、按照元素的名称删除,
删除所有元素
清空集合:在缓存上直接清空缓存
重新实例化对象
(5)ArrayList
注意:当向Vector或ArrayList中添加数据时,不要超过5000个数据。
3、Set接口
(1)基本思想
用于存储一系列对象的集合。
(2)特点
存储的数据时无序的
不允许有重复值
(3)实现类
HashSet treeSet
4、Map接口
(1)基本思想
以键值的方式进行数据存储的集合。
意思:以名称与值的成对的方式进行数据存储。
(2)特点
A:存储的是一对对的数据
B:存储数据时无序的
C:不允许重复值
(3)实现类
哈希表 Hashtable treeTable
Java中集合类