一、MAP

1、Map和HashMap

Map是一个接口,HashMap是Map的一个实现类,所以可以如下定义:

Map
 m = new HashMap
();HashMap
 m = new HashMap
();LinkedHashMap
 linkedHashMap = new LinkedHashMap
();

不能如下定义,因为接口是不能实例化的:

Map
 m = new Map
();HashMap
 m = new Map
();

2、Map的遍历可参考:

    


二、List

1、List和ArrayList

List是一个接口,ArrayList是List的一个实现类,所以可以如下定义:

List
 m = new ArrayList
();ArrayList
 m = new ArrayList
();LinkedList
 list = new LinkedList
();

2、List的合并可以用addAll函数。

3、List去重。

(1)、不在意顺序。

public static List removeDuplicate(List list) {	Set set = new HashSet();	List newList = new ArrayList();		set.addAll(list);	newList.addAll(set);		return newList;}

(2)、保持顺序(代码来自:)

public static List removeDuplicateWithOrder(List list) {	Set set = new HashSet();	List newList = new ArrayList();	for (Iterator iter = list.iterator(); iter.hasNext();) {		Object element = iter.next();		if (set.add(element))			newList.add(element);	}	return newList;}

4、List中存放自定义对象时排序可参考:

    

排序示例:

// 按 batch 从旧到新排序Collections.sort(xObjList, new Comparator
() { @Override public int compare(XXXXObject obj1, XXXXObject obj2) { int i = obj1.data.get("batch").compareTo(obj2.data.get("batch")); if ( i > 0 ) { return 1; } else { return -1; } }});

*** ***