Java集合框架(一) Map常见方法的使用及循环遍历的五种方法实现

前言

本文主要介绍常见的方法和循环遍历的五种方法,其次什么是Map和好处

文章目录

    • 前言
    • 一、什么是Map
    • 二、 常见使用方式
      • 存储键值对
      • 获取值
      • 判断是否包含某个键或值
      • 获取所有键或值
      • 删除键值对
    • 三.、循环方式
      • 使用for-each循环遍历:
      • 使用Iterator遍历:
      • 遍历所有键:
      • 遍历所有值:
      • 使用Lambda表达式遍历:
    • 总结

一、什么是Map

Java中的Map是一种键值对存储的数据结构,其中每个键都唯一,与一个值相关联。Map的实现类有多种,其中常用的有HashMap、TreeMap、LinkedHashMap等。以下是它们的介绍:

  1. HashMap:HashMap使用哈希表来实现键值对的存储,具有快速的访问速度。它允许使用null键和null值,但是它们在插入和获取时需要特殊处理,这也是它的一个缺点。

  2. TreeMap:TreeMap基于红黑树实现,它能够自动保持键的有序性。它没有HashMap那样快速的访问速度,但是在需要遍历排好序的键值对时,它比HashMap更加适用。

  3. LinkedHashMap:LinkedHashMap继承自HashMap,但是它通过维护一个双向链表来保证存储顺序。它既保持了HashMap的快速访问速度,又具有按照插入顺序或者访问顺序进行遍历的能力。

Map集合可以用来存储一些数据,例如用户ID和用户信息的对应关系,或者单词和出现次数的对应关系等。它提供了丰富的方法,包括添加键值对、获取键值对、删除键值对、遍历键值对等。Map是Java中的一种集合,它是一种键值对的映射表,可以根据键快速获取对应的值。

二、 常见使用方式

以下是Java中Map实现类的HashMap的常见方法使用示例及运行结果:

存储键值对

使用put()方法向Map中添加键值对:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);//新增键值对,左边键右边值
map.put("banana", 20);
System.out.println(map);

输出结果:

{banana=20, apple=10}

获取值

使用get()方法根据键获取对应的值:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
int value = map.get("apple");//获取指定键的值
System.out.println(value);

输出结果:

10

判断是否包含某个键或值

使用containsKey()和containsValue()方法:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
boolean hasKey = map.containsKey("apple");//判断此map集合里是否存在指定键
boolean hasValue = map.containsValue(20);//判断此map集合里是否存在指定值
System.out.println(hasKey);
System.out.println(hasValue);

输出结果:

true
true

获取所有键或值

使用keySet()和values()方法获取所有键或值:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
Set<String> keys = map.keySet();//获取所有的键
Collection<Integer> values = map.values();//获取所有的值
System.out.println(keys);
System.out.println(values);

输出结果:

[banana, apple]
[20, 10]

删除键值对

使用remove()方法删除键值对:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.remove("banana");//根据指定的键删除该键值对
System.out.println(map);

输出结果:

{apple=10}

三.、循环方式

Map提供了很多不同的循环方式,可根据需求选择不同的方式。以下列举了五种常见的循环方式:

使用for-each循环遍历:

使用for-each循环遍历Map中的所有键值对,代码示例:

Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    Integer value = entry.getValue();
    // Do something with key and value
}

使用Iterator遍历:

使用Iterator遍历Map中的所有键值对,代码示例:

Map<String, Integer> map = new HashMap<>();
Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry<String, Integer> entry = it.next();
    String key = entry.getKey();
    Integer value = entry.getValue();
    // Do something with key and value
}

遍历所有键:

使用keySet()方法获取所有键,然后遍历所有键,代码示例:

Map<String, Integer> map = new HashMap<>();
for (String key : map.keySet()) {
    Integer value = map.get(key);
    // Do something with key and value
}

遍历所有值:

使用values()方法获取所有值,然后遍历所有值,代码示例:

Map<String, Integer> map = new HashMap<>();
for (Integer value : map.values()) {
    // Do something with value
}

使用Lambda表达式遍历:

使用Lambda表达式遍历Map中的所有键值对,代码示例:

Map<String, Integer> map = new HashMap<>();
map.forEach((key, value) -> {
    // Do something with key and value
});

总结

好处

  1. 可视化数据:地图能够将数据以图形化的方式呈现,使得信息更加直观和易于理解。它可以显示地理位置、地形、人口分布、资源分布等。这对于政府、研究机构、企业等来说都非常有价值,可以帮助他们做出更明智的决策。

  2. 帮助导航和定位:地图可以帮助人们在陌生的地方进行导航和定位。无论是在城市中找到需要去的地方,还是在户外进行远足或露营时找到正确的方向,地图都是不可或缺的。

  3. 规划和管理:地图可以用于规划和管理城市、交通网络、基础设施等。通过分析地图上的数据,决策者可以更好地了解城市的需求,制定更有效的规划和管理策略。

  4. 旅游和娱乐:地图对旅游者非常重要。它们可以帮助人们找到旅游景点、餐馆、酒店等。此外,一些人也喜欢使用地图进行寻宝游戏或进行地理知识挑战。

  5. 教育和学习:地图是教育和学习的重要工具。它们可以帮助学生更好地理解地理知识,学习地理技能。同时,地图也可以帮助老师设计课程,进行教学和评估。

总的来说,地图有助于我们更好地了解世界,帮助我们在生活中做出更明智的决策,并提供各种各样的实用功能。

你可能感兴趣的:(集合框架,java,开发语言)