
package collection.others.Synchronized;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 使用Collections管理同步容器
* synchronizedList()
synchronizedSet()
synchronizedMap()
*/
public class TestSynchronized {
public static void main(String[] args) {
List<String> list =new ArrayList<String>();
list.add("a");
list.add("b");
@SuppressWarnings("unused")
List<String> synList =Collections.synchronizedList(list);
System.out.println("线程安全的list制作完毕");
}
}
package collection.others.Synchronized;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 只读设置
* 1.emptyxxx()空的不可变的集合
* emptyList()
* emptyMap()
* emptySet()
* 2.singletonxxx()一个元素不可变的集合
* singleton(T o)
* singletonList(T o)
* singletonMap(K key, V value)
* 3.unmodifiableXxx() 不可变容器
* unmodifiableList(List<? extends T> list)
* unmodifiableSet(Set<? extends T> s)
* unmodifiableMap(Map<? extends K,? extends V> m)
*/
public class TestReadOnly {
public static void main(String[] args) {
Map<String,String> map =new HashMap<String,String>();
map.put("test", "test");
map.put("bjsxt", "bjsxt");
Map<String,String> map2 =Collections.unmodifiableMap(map);
System.out.println(map2.size());
List<String> list =Collections.singletonList(new String());
list.add("test");
}
public static Set<String> oper(Set<String> set){
if(null==set){
return Collections.emptySet();
}
return set;
}
}