1. 程式人生 > >Java之Collection詳解

Java之Collection詳解

Collection藉口是java集合框架的最頂層介面,它提供了大量的通用的集合操縱方法。collection介面是Sort介面和List介面的父介面。

1.新增元素

add以及addAll

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
	}

}

執行結果:

[I, LOVE, YOU]

[I, LOVE, YOU, AND, YOU]

2.刪除方法

(a)clear()清空集合中的元素

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
		//clear()清空集合中的元素
		c.clear();
		System.out.println(c);
	}

}

執行結果:

[I, LOVE, YOU]
[I, LOVE, YOU, AND, YOU]
[]

(b)remove()指定集合中的元素刪除,刪除成功返回true,刪除失敗返回false。

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
		//remove()
		c.remove("AND");
		System.out.println(c);
	}

}

執行結果:

[I, LOVE, YOU]
[I, LOVE, YOU, AND, YOU]
[I, LOVE, YOU, YOU]

(c)removeAll()刪除集合中與removeAll括號中交集的元素。

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
		//removeAll()
		c.removeAll(c2);
		System.out.println(c);
	}

}

執行結果:

[I, LOVE, YOU]
[I, LOVE, YOU, AND, YOU]
[I, LOVE]

(d)retainAll()與removeAll正好相反,保留集合中與retainAll()括號中交集的元素,其他元素一併刪除。

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
		//retainAll()
		c.retainAll(c2);
		System.out.println(c);
	}

}

執行結果:

[I, LOVE, YOU]

[I, LOVE, YOU, AND, YOU]

[YOU, AND, YOU]

3.檢視集合的元素個數

size()

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		System.out.println(c);
		
		
		//addAll 把一個集合的元素新增到另一個集合中
		Collection c2 = new ArrayList();
		c2.add("AND");
		c2.add("YOU");
		c.addAll(c2);  //把c2中的元素新增到c集合中
		System.out.println(c);
		
		//size()
		System.out.println("集合裡一共有"+ c.size() + "個元素");
	}

}

執行結果:

[I, LOVE, YOU]
[I, LOVE, YOU, AND, YOU]
集合裡一共有5個元素

4.判斷

(a)isEmpty判斷集合是否為空元素

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		
		//isEmpty
		System.out.println("判斷集合是否為空元素:" + c.isEmpty());
	}

}

執行結果:判斷集合是否為空元素:false

(b)contains判斷集合中是否存在指定元素

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();  //建立集合物件
		//add
		c.add("I");
		c.add("LOVE");
		c.add("YOU");
		
		//contains
		System.out.println("斷集合中是否存在指定元素:" + c.contains("I"));
		System.out.println("斷集合中是否存在指定元素:" + c.contains("SSS"));
	}

}

執行結果:

斷集合中是否存在指定元素:true

斷集合中是否存在指定元素:false

(c)containsAll如果此集合包含指定集合中的所有元素返回true,否則返回false。

package test;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();
		c.add("我");
		c.add("喜歡");
		c.add("你");
		System.out.println(c);
		Collection c2 = new ArrayList();
		c2.add("喜歡");
		System.out.println("c集合包含c2集合中的所有元素嗎:" + c.containsAll(c2));
		c2.add("棒棒糖");
		System.out.println("c集合包含c2集合中的所有元素嗎:" + c.containsAll(c2));
		
	}
}

執行結果:

[我, 喜歡, 你]
c集合包含c2集合中的所有元素嗎:true
c集合包含c2集合中的所有元素嗎:false

5.迭代

(a)toArry()返回集合中所有元素的陣列

package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();
		c.add("我");
		c.add("喜歡");
		c.add("你");
		Object[] arr = c.toArray();
		System.out.println(Arrays.toString(arr));
		
		
	}
}

執行結果:[我, 喜歡, 你]

(b)interator

     (1) 使用方法iterator()要求容器返回一個Iterator。第一次呼叫Iterator的next()方法時,它返回序列的第一個元素。注意:iterator()方法是java.lang.Iterable介面,被Collection繼承。

  (2) 使用next()獲得序列中的下一個元素。

  (3) 使用hasNext()檢查序列中是否還有元素。

  (4) 使用remove()將迭代器新返回的元素刪除。

package test;

import java.util.*;


public class CollectionDemo {
	public static void main(String args[]) {
		Collection c = new ArrayList();
		c.add("apple");
		c.add("orange");
		c.add("ice green");
		c.add("chicken");
		
		Iterator it = c.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
			
		}
	}
	

}