Collection(接口)
|-------List: (接口) 允许重复元素:
|------ArrayList: (重要)
|------Vector:
|------Stack:
|------LinkedList:
|-------Set: (接口) 元素不能重复:
|------HashSet:
|------TreeSet:
|------LinkedHashSet:
|-------Queue: (接口)
|------LinkedList:
映射结构;
Map
|----HashMap: (重点)
|----TreeMap:
|----Hashtable:
|----Properties: (重点)
学习: 看顶层,用底层:
集合: 位于java.util.*;
Collection :接口:
add(Object obj);
addAll(Collection c);
remove(Object);
removeAll(Collection c);
clear();
size();
contains(Object o) 如果此 collection 包含指定的元素,则返回 true。
containsAll();
isEmpty();
toArray();
retainAll();
iterator();
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
public class lianxi {
public static void main(String[] args) {
Collection clt1 = new ArrayList();
//add(Object obj);
clt1.add(1);//int
clt1.add('a');//char
clt1.add("b");//String
clt1.add(new Student("小明",24));//object
System.out.println(clt1);//[1, a, b, Student@7694837a]
//addAll(Collection c);
Collection clt2 = new ArrayList();
clt2.add(2);
clt2.addAll(clt1);
System.out.println(clt2);//[2, 1, a, b, Student@1043fb68]
//remove(Object);
clt2.remove(2);
System.out.println(clt2);//[1, a, b, Student@7b220575]
//removeAll(Collection c);
// removeAll(Collection<?> c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
//retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
clt2.add(2);
clt2.removeAll(clt1);
System.out.println(clt2);//[2]
// clear();
clt2.clear();
System.out.println(clt2);//[]
//size();
System.out.println(clt1.size());//4
//contains(Object o) 如果此 collection 包含指定的元素,则返回 true。
System.out.println(clt1.contains("b"));//true
//containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
clt2.add("b");
System.out.println(clt2.containsAll(clt1));//false
System.out.println(clt1.containsAll(clt2));//true
//isEmpty();
System.out.println(clt2.isEmpty());//false
clt2.remove("b");
System.out.println(clt2.isEmpty()); //true
//toArray();
Collection clt3 = new ArrayList();
clt3.add("a");
clt3.add("b");
clt3.add("c");
clt3.add("d");
Object[] ob = clt3.toArray(); // String[] str = clt3.toArray(String[]) 指定类型数组输出
Object[] ob2 = clt1.toArray();
System.out.println(Arrays.toString(ob));//[a, b, c, d]
System.out.println(Arrays.toString(ob2));//[1, a, b, Student@32edeea8]
//iterator() 返回在此 collection 的元素上进行迭代的迭代器。
Iterator it = clt1.iterator();
while(it.hasNext()){
Object next = it.next();
System.out.println(next);
}
}
}