public static void readSet(Set set){
Iterator it = set.iterator();
if(set!=null){
while (it.hasNext()){
String s=(String) it.next();
System.out.println(s);
}
}
}
public static void readSetByForeach(Set set){
for(Object obj :set){
System.out.println(obj);
}
}
Treeset 确保集合元素处于排序状态 采用红黑树的数据结构
只有当需要一个保存排序的集合时 才使用treeset 否则都应该使用hashset 都是线程不安全的
List<String> c = new ArrayList<String>();
List<String> c1 = new ArrayList<String>();
c.add("拉拉了撒");
c.add("dasdas");
c.clear();
c1.addAll(c);
c1.contains("ss");
c1.containsAll(c);
c1.retainAll(c);
c1.toArray();
public static void list(List list){
list.add("");
list.get(1);
list.set(1, "");
list.subList(1, 4);
}
public static void readList(List list){
ListIterator lit=list.listIterator();
while (lit.hasNext()){
System.out.println(lit.next());
}
while (lit.hasPrevious()){
System.out.println(lit.previous());
}
}
ArrayList线程安全的集合 Vector 线程不安全的集合 按时性能低 还提供一个stack 子类
map 的相关操作
public static void map(Map map){
map.clear();
map.containsKey("");
map.containsValue("");
map.get("key");
map.keySet();
map.put("", "");
map.putAll(map);
map.remove("key");
map.values();
}
读取map集合
public static void readMap(Map map){
Object key = null;
Object value = null;
Iterator it = map.keySet().iterator();
while (it.hasNext()){
key=it.next();
value=map.get(key);
}
}
Map用于存储键值对,不允许键重复,值可以重复。
* (1)HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
* HashMap最多只允许一条记录的键为null,允许多条记录的值为null。
* HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。
* 如果需要同步,可以用Collections.synchronizedMap(HashMap map)方法使HashMap具有同步的能力。
* (2)Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;
* 它支持线程的同步,即任一时刻只有一个线程能写Hashtable,然而,这也导致了Hashtable在写入时会比较慢。
* (3)LinkedHashMap保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时,先得到的记录肯定是先插入的。
* 在遍历的时候会比HashMap慢。
* (4)TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iteraor遍历TreeMap时,
* 得到的记录是排过序的
借助TreeMap的排序功能可以对map进行排序
操作集合的工具类 collections
public static void collections(List list){
Collections.reverse(list);
Collections.sort(list);
Collections.shuffle(list);
Collections.replaceAll(list, "", "newVal");
}