关于Java的Map/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
相关文章
|
18天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
34 3
|
18天前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
57 3
|
18天前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
46 2
|
18天前
|
存储 Java
告别混乱!用Java Map优雅管理你的数据结构
【10月更文挑战第17天】在软件开发中,随着项目复杂度增加,数据结构的组织和管理至关重要。Java中的Map接口提供了一种优雅的解决方案,帮助我们高效、清晰地管理数据。本文通过在线购物平台的案例,展示了Map在商品管理、用户管理和订单管理中的具体应用,有效提升了代码质量和维护性。
63 2
|
18天前
|
存储 Java 开发者
Java Map实战:用HashMap和TreeMap轻松解决复杂数据结构问题!
【10月更文挑战第17天】本文深入探讨了Java中HashMap和TreeMap两种Map类型的特性和应用场景。HashMap基于哈希表实现,支持高效的数据操作且允许键值为null;TreeMap基于红黑树实现,支持自然排序或自定义排序,确保元素有序。文章通过具体示例展示了两者的实战应用,帮助开发者根据实际需求选择合适的数据结构,提高开发效率。
49 2
|
18天前
|
存储 缓存 安全
HashMap VS TreeMap:谁才是Java Map界的王者?
HashMap VS TreeMap:谁才是Java Map界的王者?
58 2
|
18天前
|
存储 Java API
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
79 2
|
9天前
|
存储 Java API
Java交换map的key和value值
通过本文介绍的几种方法,可以在Java中实现Map键值对的交换。每种方法都有其优缺点,具体选择哪种方法应根据实际需求和场景决定。对于简单的键值对交换,可以使用简单遍历法或Java 8的Stream API;对于需要处理值不唯一的情况,可以使用集合存储或Guava的Multimap。希望本文对您理解和实现Java中的Map键值对交换有所帮助。
11 1
|
16天前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
45 5
|
14天前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
16 3
下一篇
无影云桌面