一、MAP
1、Map和HashMap
Map是一个接口,HashMap是Map的一个实现类,所以可以如下定义:
1
2
|
Map<String, Integer> m =
new
HashMap<String, Integer>();
HashMap<String, Integer> m =
new
HashMap<String, Integer>();
|
不能如下定义,因为接口是不能实例化的:
1
2
|
Map<String, Integer> m =
new
Map<String, Integer>();
HashMap<String, Integer> m =
new
Map<String, Integer>();
|
2、Map的遍历可参考:
二、List
1、List和ArrayList
List是一个接口,ArrayList是List的一个实现类,所以可以如下定义:
1
2
|
List<String> m =
new
ArrayList<String>();
ArrayList<String> m =
new
ArrayList<String>();
|
2、List的合并可以用addAll函数。
3、List去重。
(1)、不在意顺序。
1
2
3
4
5
6
7
8
9
|
public
static
List removeDuplicate(List list) {
Set set =
new
HashSet();
List newList =
new
ArrayList();
set.addAll(list);
newList.addAll(set);
return
newList;
}
|
(2)、保持顺序(代码来自:java ArrayList去重复值)
1
2
3
4
5
6
7
8
9
10
|
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中存放自定义对象时排序可参考:
JAVA中Collections.sort()实现List排序的公共方法和自定义方法
*** walker ***
本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1688316如需转载请自行联系原作者
RQSLT