1.1. 集合概述
集合,在实际开始中占有很重要的地位。集合实际上是一个长度可变的容器,用于存储不同类型的对象。
1.2. 集合体系
集合,它不止一种。集合容器因为内部的数据结构不同,有多种具体容器。不断的向上抽取,就形成了集合框架。把所有集合的共性向上抽取,就产生了集合的根接口Collection。所以集合框架的顶层就是Collection接口,也就是说所有的集合都直接或间接的实现了Collection接口。
Collection接口是在java.util包中的。Collection的常见方法:
1) 添加
boolean add(E e) 添加单个元素
boolean addAll(Collection<? extends E> c) 添加指定的集合元素
2) 删除
boolean remove(Object o) 删除指定元素
boolean removeAll(Collection<?> c) 删除指定集合中包含的元素
void clear()
3) 判断
boolean contains(Object o) 判断是否包含某个元素,包含返回true,否则返回false
boolean containsAll(Collection<?> c) 判断时候包含指定集合中的所有元素,全部包含返回true,否则返回false
boolean isEmpty() 判断集合时候为空集合,如果是,返回true,否则返回false
4) 获取
int size() 获取集合中元素的个数
Iterator<E> iterator() 迭代器
5) 其它
boolean retainAll(Collection<?> c) 取交集
Object[] toArray() 将集合转成数组
package com.java.base;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) throws IOException {
Collection c1 = new ArrayList();
Collection c2 = new ArrayList();
add(c1,c2);
//remove(c1,c2);
//judge(c1,c2);
//System.out.println("size:"+c1.size());
//System.out.println("retainAll:"+c2.retainAll(c1));
//System.out.println("c1:"+c1);
//System.out.println("c2:"+c2);
iterator(c1);
}
//迭代
private static void iterator(Collection c1){
/*Iterator it = c1.iterator();
while(it.hasNext()){
System.out.println(it.next());
}*/
//System.out.println(it.next());//Exception in thread "main" java.util.NoSuchElementException
for(Iterator it = c1.iterator();it.hasNext();){
System.out.println(it.next());
}
}
//判断
private static void judge(Collection c1,Collection c2){
System.out.println("contains:"+c1.contains("Hadoop"));
System.out.println("containsAll:"+c1.containsAll(c2));
System.out.println("isEmpty:"+c1.isEmpty());
}
//删除
private static void remove(Collection c1,Collection c2){
System.out.println("remove:"+c1.remove("Hive"));
System.out.println("remove:"+c1.removeAll(c2));
c1.clear();
System.out.println("c1:"+c1);
System.out.println("c2:"+c2);
}
//添加
private static void add(Collection c1,Collection c2){
//添加单个元素
c1.add("Hadoop");
c1.add("HBase");
c1.add("Hive");
System.out.println(c1);
c2.add("Hadoop");
c2.add("HBase");
c2.add("Storm");
c2.add("Spark");
System.out.println(c2);
System.out.println("使用addAll之后:");
//添加Collection
c1.addAll(c2);
System.out.println(c1);
System.out.println(c2);
}
}