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