由于Collection是接口,不能直接new对象,所以只能new一个它的子类。
下面先介绍Collection中的方法
1:boolean add(E e)
添加元素到Collection集合中。
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
boolean flag=list.add("丙");
System.out.println(list+" "+flag);
}
}
2:boolean addAll(Collection<? extends E> c)
将指定c中的所有元素都添加到此Collection集合中。
注意c的类型为Collection
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
list1.add("甲");
list1.add("乙");
Collection list2 = new Vector();
list2.add("丙");
list2.addAll(list1);
System.out.println(list2);
}
}
3、void clear()
移除此collection集合中的所有元素
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
list1.add("甲");
list1.add("乙");
Collection list2 = new Vector();
list2.add("丙");
list2.addAll(list1);
System.out.println(list2);
list2.clear();
System.out.println(list2);
}
}
4.boolean contains(Object o)
检查Collection集合中是否包含o对象
如果包含则返回true,否则返回false
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
boolean flag1=list.contains("甲");
boolean flag2=list.contains("丙");
System.out.println(flag1+" "+flag2);
}
}
5、boolean containsAll(Collection<?> c)
检查Collection集合中是否包含c的全部对象,全部包含则返回true,否则返回false。
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
Collection list2 = new Vector();
list1.add("甲");
list1.add("乙");
list2.addAll(list1);
list2.add("丙");
boolean flag1=list2.containsAll(list1);
System.out.println(list1);
System.out.println(list2+" "+flag1);
list1.add("丁");
boolean flag2=list2.containsAll(list1);
System.out.println(list1);
System.out.println(list2+" "+flag2);
}
}
6、boolean equals(Object o)
比较此collection集合与指定对象是否相等,是比较的是里面元素是否相等,而不是比较地址是否相等。
在Object类中,equals()方法底层就是“==”,也就是说就是比较地址是否相等,但是继承后,大多数的类都重写了该方法。
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
Collection list2 = new Vector();
list1.add("甲");
list1.add("乙");
list2.addAll(list1);
System.out.println(list1);
System.out.println(list2);
System.out.println("list2.equals(list1):"+list2.equals(list1));//比较内容
System.out.println("(list1==list2):"+(list1==list2));//比较地址
list1.add("丁");
System.out.println(list1);
System.out.println(list2);
System.out.println("list2.equals(list1):"+list2.equals(list1));//比较内容
}
}
7、boolean isEmpty()
检查Collection集合是否包含有元素,如果没有包含元素,则返回true,否则返回false
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
System.out.println(list);
System.out.println(list.isEmpty());
list.add("甲");
System.out.println(list);
System.out.println(list.isEmpty());
}
}
8、Iterator iterator()
返回在此collection集合的元素上进行迭代的迭代器
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
list.add("丙");
System.out.println(list);
Iterator it=list.iterator();
while(it.hasNext())//输出Collection中单个元素
{//hasNext()hasNext()在缓冲区中依次扫描,不为空则返回true,扫描到空时返回false
Object o = it.next();
System.out.println(o);
}
}
}
注意:迭代过程中不能用集合里的添加、删除等方法修改集合,不然会报错。
如果想在迭代过程中还想操作集合,那么只能用迭代器类里面的方法。
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
list.add("丙");
System.out.println(list);
Iterator it=list.iterator();
//迭代过程的中只能调用迭代器进行操作
while(it.hasNext())//输出Collection中单个元素
{//hasNext()hasNext()在缓冲区中依次扫描,不为空则返回true,扫描到空时返回false
Object o = it.next();
if(o=="甲")
it.remove();
System.out.println(o);
}
System.out.println(list);
}
}
9、boolean remove(Object o)
从collection集合中删除指定的元素,如果集合中有这个元素,并且删除成功,那么就返回true,否则返回false。
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
list.add("丙");
System.out.println(list);
System.out.println("remove 甲"+list.remove("甲 ")+"\n"+list);
}
}
10、boolean removeAll(Collection<?> c)
从集合中删除c集合中所有的元素
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list = new Vector();
list.add("甲");
list.add("乙");
list.add("丙");
System.out.println(list);
System.out.println("removeAll list "+list.removeAll(list)+"\n"+list);
}
}
11:boolean retainAll(Collection<?> c)
集合中仅保留c集合中的所有元素
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
Collection list2 = new Vector();
list1.add("甲");
list1.add("乙");
list2.addAll(list1);
list2.add("丁");
System.out.println(list1);
System.out.println(list2);
System.out.println("list2.retainAll(list1):"+list2.retainAll(list1));//比较内容
System.out.println("list2: "+list2);
}
}
12.int size()
返回集合中元素个数
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
Collection list2 = new Vector();
list1.add("甲");
list1.add("乙");
System.out.println("list1.size(): "+list1.size());
}
}
13、Object[] toArray()
返回包含此collection集合中所有元素的数组
import java.util.Collection;
import java.util.Vector;
public class Main {
public static void main(String[]args){
Collection list1 = new Vector();
list1.add("甲");
list1.add("乙");
Object[] obj=list1.toArray();//obj为存储list元素的数组
for(Object a:obj)
System.out.println(a);
}
}