Collection
- 定义了对集合进行基本操作的一些通用方法,是Set 接口和 List 接口的父接口,List 接口 和 Set 接口 可以调用这些方法;
- Collection不能实例化,可以通过 ArrayList 实现类来调用 Collection 接口的方法;
- 任何对象加入集合后如果不加泛型约束(即泛化)都会自动转变为 Object 类型,所以在取出的时候要强制类型转换;
1. API
类型 |
方法 |
说明 |
boolean |
add(E e) |
向集合中添加一个元素,元素数据类型是E |
boolean |
addAll(Collection c) |
将集合中的所有元素添加到集合c |
boolean |
remove(Object o) |
删除此集合中指定元素o |
boolean |
removeAll(Collection c) |
删除此集合中所有在集合c中的元素 |
void |
clear() |
删除此集合中的所有元素 |
int |
size() |
返回此集合中的元素个数 |
Iterator |
iterator() |
返回一个Iterator对象(迭代器),用于遍历此集合中的所有元素 |
boolean |
contains(Object o) |
判断此集合中是否包含元素o |
boolean |
containsAll(Collection c) |
判断此集合中是否包含集合c中的所有元素 |
boolean |
retainAll(Collection c) |
保留此集合和指定集合c中都出现的元素 |
Object [ ] |
toArray() |
返回此集合中所有元素的数组 |
2. Iterator()
3. addAll()
Java 实例
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
String a = "A";
String b = "B";
Collection<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
Collection<String> list2 = new ArrayList<String>();
list2.addAll(list);
Iterator<String> it = list2.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.print(str+" ");
}
}
}
4. containsAll()
- 查看是否存在指定集合的所有对象,用来检验 addAll();
Java 实例
import java.util.ArrayList;
import java.util.Collection;
public class test {
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
Collection<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
Collection<String> list2 = new ArrayList<String>();
list2.add(b);
list2.add(c);
list2.retainAll(list);
System.out.println(list2.containsAll(list));
}
}
5. removeAll()
Java 实例
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
Collection<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
Collection<String> list2 = new ArrayList<String>();
list2.add(b);
list2.add(c);
list2.removeAll(list);
Iterator<String> it = list2.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
}
}
6. retainAll()
- 保留交集,移除交集的补集,与 removeAll() 相反;
Java 实例
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
Collection<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
Collection<String> list2 = new ArrayList<String>();
list2.add(b);
list2.add(c);
list2.retainAll(list);
Iterator<String> it = list2.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
}
}
7. toArray()
- 返回一个包含所有对象的指定类型的数组;
- 必须先初始化一个指定容量的数集,类型满足泛化类型;
Java 实例
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class test {
public static void main(String[] args) {
String a = "A";
String b = "B";
String c = "C";
Collection<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
String temp[] = new String[1];
String str[] = list.toArray(temp);
System.out.println(Arrays.toString(str));
}
}