java 集合 Collection接口

时间:2022-01-22 17:56:23

java 集合 Collection接口

java 集合 Collection接口java 集合 Collection接口

java 集合 Collection接口

java 集合 Collection接口

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

}