1.介绍
2.小结
基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作。
性能上,ArrayList和HashMap分别比Vector和Hashtable要好。
SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序
3.技巧
1.arraylist 去除重复
Set set= new HashSet();
List list = new ArrayList();
set.addAll(list); //将list中的值加入set,并去掉重复的abc
2.Map的遍历
//最常规的一种遍历方法
public static void work(Map<String, Student> map) {
Collection<Student> c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}
//利用keyset进行遍历,
public static void workByKeySet(Map<String, Student> map) {
Set<String> key = map.keySet();
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map.get(s));
}
}
//比较复杂的一种遍历在这里
public static void workByEntry(Map<String, Student> map) {
Set<Map.Entry<String, Student>> set = map.entrySet();
for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
System.out.println(entry.getKey() + "--->" + entry.getValue());
}
}
3.关于排序
主要是针对TreeMap 利用Key排序 Key为对象
思路:其实就是实现Comparable接口
/**
* TreeMap排序
* @return
*/
private TreeMap<ObjectKey,Object> getNewTree(){
return new TreeMap<ObjectKey,Object>(
new Comparator<ObjectKey>() {
public int compare(ObjectKey o1, ObjectKey o2) {
return o2.getFlowid()-o1.getFlowid(); //排序
}
});
}
TreeMap sortMap = getNewTree();
sortMap.put(......)