Collection:
Collection接口是List、Set和Quene接口的父接口,该接口里定义的方法既可以于操作Set集合,也可用于操作List和Quene集合。
Collection接口里定义了诸多操作集合元素的方法,如下表所示:
方法 | 方法描述 |
boolean add(Object obj) | 向集合中添加一个数组,如果集合对象被添加操作改变了,返回true。 |
boolean addAll(Collection c) | 把集合c里的所有元素添加到指定集合里,如果集合对象被添加操作改变了,则返回true。 |
void clear() | 清除集合里的所有元素,集合的长度变为0。 |
boolean contains(Object obj) | 返回集合里是否包含指定的元素。 |
boolean containsAll(Collection c) | 返回集合里是否包含集合c里的元素。 |
boolean isEmpty() | 返回集合是否为空,如果集合的长度为0,则为空,返回true。 |
Iterator iteratorI() | 返回一个Iterator对象,用于遍历集合里的元素。 |
boolean remove(Object obj) | 删除集合里的指定元素obj,如果集合中包含了一个或多个元素obj时,该方法只删除第一个符合条件的元素,返回true。 |
boolean removeAll(Collection c) | 从集合中删除集合c里包含的所有元素,如果操作改变了调用该方法的集合,返回true。 |
boolean retainAll(Collection c) | 从集合中删除集合c里不包含的元素,如果操作改变了调用该方法的集合,返回true。 |
int size() | 返回集合里元素的个数。 |
Object[] toArray() | 刚方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。 |
案例:
package test50;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
Collection collection = new ArrayList();
collection.add("java"); //向集合collection中添加元素
collection.add("linux");
collection.add(123); //集合里规定不能存放基本类型的值,但是Java支持自动装箱
Collection collection2 = new ArrayList();
collection2.add("html");
collection2.add("php");
System.out.println(collection.size()); //输出collection1的长度 3
System.out.println(collection2.size()); //输出collection2的长度 2
collection.addAll(collection2); //将集合collection2中的元素都添加到集合collection中
Iterator it = collection.iterator(); //获取collection的迭代器
while (it.hasNext()) {
String subject = it.next().toString();
System.out.println(subject); //迭代出collection集合中的元素 java,linux,123,html,php
if(subject.equals("html")) { //匹配到“html”时,删除这个元素
it.remove();
}
}
System.out.println(collection); //[java, linux, 123, php]
boolean flag1 = collection.contains("linux"); //判断集合中是否包含linux元素
System.out.println(flag1); //true
boolean flag2 = collection.containsAll(collection2); //判断集合中是否包含collection2
System.out.println(flag2); //collection中移除了“html”,false
boolean flag3 = collection2.isEmpty(); //判断集中collection2是否为空
System.out.println(flag3); //false
System.out.println(collection2); //[html, php]
boolean flag4 = collection.remove("linux"); //移除collection中的“linux”元素
System.out.println(flag4); //true
System.out.println(collection); //[java, 123, php]
boolean flag5 = collection.retainAll(collection2);
System.out.println(collection); //[php]
collection.clear(); //清楚集合collection中的元素
System.out.println(collection); //[]
System.out.println(collection.size()); //0
}
}