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