关于Java的Map/List

本文详细介绍了Java中的Map和List集合框架。包括Map接口及其HashMap实现类的使用方式,Map对象的遍历方法;List接口及其实现类ArrayList的用法,如List的合并、去重操作,以及当List中存放自定义对象时的排序方法。

一、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的遍历可参考:

    Java中如何遍历Map对象的4种方法



二、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值