Collection
接口是构建集合框架的基础。它声明了所有集合将拥有的核心方法。这些方法总结在下表中。
因为所有集合都实现了Collection
接口,所以熟悉它的方法对于清楚地理解框架是必要的。其中一些方法可能会抛出UnsupportedOperationException
异常。
编号 | 方法 | 描述 |
---|---|---|
1 | boolean add(Object obj) |
将obj 添加到调用集合。如果将obj 添加到集合中,则返回true。如果obj已经是集合的成员,或者集合不允许重复,则返回false。 |
2 | boolean addAll(Collection c) |
将c 中的所有元素添加到调用集合中。如果操作成功(即添加了元素),则返回true 。否则返回false 。 |
3 | void clear() |
从调用集合中删除所有元素。 |
4 | boolean contains(Object obj) |
如果obj 是调用集合的元素,则返回true 。否则返回false 。 |
5 | boolean containsAll(Collection c) |
如果调用集合包含c 的所有元素,则返回true 。否则返回false 。 |
6 | boolean equals(Object obj) |
如果调用集合对象和obj 相等,则返回true 。否则返回false 。 |
7 | int hashCode() |
返回调用集合的哈希码。 |
8 | boolean isEmpty() |
如果调用集合为空,则返回true 。否则返回false 。 |
9 | Iterator iterator() |
返回调用集合的迭代器。 |
10 | boolean remove(Object obj) |
从调用集合中删除一个obj 实例。如果成功删除了元素,则返回true 。否则返回:false 。 |
11 | boolean removeAll(Collection c) |
从调用集合中删除c 的所有元素。如果集合发生更改(即元素已删除),则返回true 。否则,返回false 。 |
12 | boolean retainAll(Collection c) |
除了c 中的那些元素之外,从调用集合中删除所有元素。如果集合发生更改(即元素已删除),则返回true 。否则返回false 。 |
13 | int size() |
返回调用集合中保存的元素数。 |
14 | Object[ ] toArray() |
返回一个数组,其中包含存储在调用集合中的所有元素。数组元素是集合元素的副本。 |
15 | Object[ ] toArray(Object array[ ]) |
返回一个数组,该数组仅包含其类型与数组匹配的那些集合元素。 |
示例
以下是一个示例,用于解释上述集合方法在各种类中的实现 -
import java.util.*;
/* 文件 : CollectionsDemo.java */
public class CollectionsDemo {
public static void main(String[] args) {
// ArrayList
List a1 = new ArrayList();
a1.add("ArrayList1");
a1.add("ArrayList2");
a1.add("ArrayList3");
System.out.println(" ArrayList Elements");
System.out.print("\t" + a1);
// LinkedList
List l1 = new LinkedList();
l1.add("LinkedList1");
l1.add("LinkedList2");
l1.add("LinkedList3");
System.out.println();
System.out.println(" LinkedList Elements");
System.out.print("\t" + l1);
// HashSet
Set s1 = new HashSet();
s1.add("HashSet1");
s1.add("HashSet2");
s1.add("HashSet3");
System.out.println();
System.out.println(" Set Elements");
System.out.print("\t" + s1);
// HashMap
Map m1 = new HashMap();
m1.put("Maxsu", "8");
m1.put("Countset", "31");
m1.put("Minwong", "12");
m1.put("Dalasy", "14");
System.out.println();
System.out.println(" Map Elements");
System.out.print("\t" + m1);
}
}
执行上面示例代码,得到以下结果 -
ArrayList Elements
[ArrayList1, ArrayList2, ArrayList3]
LinkedList Elements
[LinkedList1, LinkedList2, LinkedList3]
Set Elements
[HashSet3, HashSet2, HashSet1]
Map Elements
{Minwong=12, Dalasy=14, Maxsu=8, Countset=31}