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

前言

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

一、什么是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. 教育和学习:地图是教育和学习的重要工具。它们可以帮助学生更好地理解地理知识,学习地理技能。同时,地图也可以帮助老师设计课程,进行教学和评估。

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

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java中,有多种方法可以循环遍历Map的键值对。 第一种是使用for-each循环,通过调用entrySet()方法获取Map中的键值对集合,并使用for循环遍历该集合。在循环过程中,可以通过调用getKey()和getValue()方法分别获取键和值。例如: ```java Map<String, Integer> st = new HashMap<>(); st.put("iphone", 10); st.put("redmi", 100); st.put("redmik50", 100); st.put("redmik40", 100); for (Map.Entry<String, Integer> entry : st.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println("key: " + key + " -> value: " + value); } ``` 第二种方法使用Java 8的lambda表达式,通过调用forEach()方法遍历Map的键值对。在lambda表达式中,可以使用参数名t和u来表示键和值。例如: ```java Map<String, Integer> st = new HashMap<>(); st.put("iphone", 10); st.put("redmi", 100); st.put("redmik50", 100); st.put("redmik40", 100); st.forEach((key, value) -> System.out.println("key: " + key + " -> value: " + value)); ``` 第三种方法使用匿名内部类实现BiConsumer接口,通过重写accept()方法来处理键值对。例如: ```java Map<String, Integer> st = new HashMap<>(); st.put("iphone", 10); st.put("redmi", 100); st.put("redmik50", 100); st.put("redmik40", 100); st.forEach(new BiConsumer<String, Integer>() { @Override public void accept(String key, Integer value) { System.out.println("key: " + key + " -> value: " + value); } }); ``` 以上是三种常用的循环遍历Map键值对的方法。你可以根据自己的需求选择其中的一种方法使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Map集合中键值对遍历的三种方式-----java小知识](https://blog.csdn.net/m0_55486529/article/details/123696265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值