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