利用Collection的方法,控制容器的属性
- 设置线程安全,synchronizedxxx(List,Map,Set)
- 设置不可修改,unmodifiablexxx(List,Map,Set)
- 设置只有一个元素,singletonxxx(List,Map,Set)
- 返回空,EMPTY_XXX(List,Map,Set)避免NullPointerException
package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
public class ColSynUnmod {
private static final int Set = 0;
public static void main(String[] args, int String) {
List<String> demo = new ArrayList<String>();
demo.add("a");
demo.add("b");
//1.返回一个线程安全List
List<String> demo_syn = Collections.synchronizedList(demo);
//2.返回一个不可修改List(只读)
List<String> demo_unmod = Collections.unmodifiableList(demo);
//3.返回一个只有一个元素List
List<String> demo_single = Collections.singletonList(new String("first"));
//demo_single.add("second");
}
//4.返回一个空List
public static Set<String> oper(Set<String> x){
if(x == null) {
//外部获取避免NullPointerException错误
return Collections.EMPTY_SET;
}
return x;
}
}