Collection的功能由它实现类决定
* 1. List允许重复,有序(先添加在前,后添加的元素位置在后)
* 2. Set不允许重复,无序(跟添加的先后无关,只跟元素本身的hashCode值)
import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import org.junit.Test; public class CollectionDemo { @Test public void demo1() { Collection col = new ArrayList(); // 增 col.add(100); col.add("hhhh"); col.add(3.14); col.add(new Person("杰拉德格林", 33)); col.add('a'); System.out.println("size1:" + col.size()); Collection col2 = new ArrayList(); col2.add(111); col2.add(222); col2.add(333); col.addAll(col2); System.out.println("size2:" + col.size()); // 删 col.removeAll(col2); col.remove(3.14); // 查 Iterator it = col.iterator(); while (it.hasNext()) { Object obj = it.next(); if (obj instanceof Person) { System.out.println("人:" + obj); } else { System.out.println(obj); } } } @Test // Collection的功能由实现类决定 public void Demo2() { // Collection col = new ArrayList(); //List允许重复,有序(先添加在前) Collection col = new HashSet(); // Set不允许重复,无序(跟添加的先后无关,只跟元素本身的hashCode值) // 增 col.add(100); col.add(100); col.add("Java"); col.add(3.14); col.add(200); col.add(new Person("Jack", 22)); col.add('a'); // 改1--位置变了(对List来说,对Set不影响) // col.remove(200); // col.add(300); // 改2--位置不变(对List来说,对Set不影响) Object objs[] = col.toArray(); col.clear(); for (int i = 0; i < objs.length; i++) { if (objs[i].equals(200)) { objs[i] = 300; } col.add(objs[i]); } // 查 Iterator it = col.iterator(); while (it.hasNext()) { Object obj = it.next(); System.out.println(obj); } } }