Collection接口的常用方法:
Collection的equals方法判断集合的中的元素是否相同。该方法需要根据集合元素的顺序进行判断。
import java.util.ArrayList;
import java.util.Collection;
public class TestEquals_001 {
public static void main(String[] args) {
Collection<Object> c = new ArrayList();
Collection<Object> cA = new ArrayList();
c.add("hello1");
c.add(3);
/*输出为false*/
cA.add(3);
cA.add("hello1");
System.out.println(c.equals(cA));
/*输出为true*/
/*cA.add("hello1");
cA.add(3);
System.out.println(c.equals(cA));*/
}
}
Collection的contains方法 。 如果存入Collection中的元素是自定义类的对象,则需要类重写equals方法,因为contains方法是根据equals方法判断元素是否存在。
Collection的containsAll方法,a.containsAll(b),判断集合b中的元素是否全部都在集合a中。
package org.lfz._12_11_Collection;
import java.util.ArrayList;
import java.util.Collection;
public class _002_TestContainsAll {
public static void main(String[] args) {
Collection<Object> c = new ArrayList();
Collection<Object> cA = new ArrayList();
c.add("hello1");
c.add(3);
/*输出为false*/
cA.add(3);
cA.add("hello1");
cA.add("hello2");
//containsAll方法判断集合cA中的元素是否全部在集合c中
System.out.println(c.containsAll(cA));
Collection<Object> cB = new ArrayList();
Collection<Object> cC = new ArrayList();
cB.add("hello2");
cB.add("hello1");
cB.add(3);
/*输出为true*/
cC.add(3);
cC.add("hello1");
//containsAll方法判断集合cC中的元素是否全部在cB中
System.out.println(cB.containsAll(cC));
}
}
iterator方法实现一个Iterator接口实现类的对象,进而实现集合的遍历。
Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。
所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。
Iterator 仅用于遍历集合,Iterator 本身并不提供承装对象的能力。如果需要创建 Iterator 对象,则必须有一个被迭代的集合。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class _002_TestIterator {
public static void main(String[] args) {
Collection c=new ArrayList();
c.add("hello");
c.add("hello1");
c.add("hello2");
Iterator iterator = c.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}