集合第一课 Collection

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);
		}
		
		
		
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_38170523/article/details/83756171
今日推荐