当前位置: 首页 > news >正文

设计精美的中文网站企业网络推广服务

设计精美的中文网站,企业网络推广服务,如何在各大平台推广,福州志愿者官方网站怎么做Java的Map介绍以及常见方法和三种遍历方式 1 Java 中的 Map 介绍 在 Java 中,Map 是一个接口,它提供了一种存储键值对(key-value pairs)的方式。每个键(key)都关联着一个值(value)…

Java的Map介绍以及常见方法和三种遍历方式

1 Java 中的 Map 介绍

在 Java 中,Map 是一个接口,它提供了一种存储键值对(key-value pairs)的方式。每个键(key)都关联着一个值(value),并且在一个 Map 中,键是唯一的,但值可以重复。Map 接口不继承自 Collection 接口,因此它与 ListSet 等集合类不同,属于双列集合。

1.1 Map 的特点
  • 键值对存储Map 存储的是键值对,其中键用于唯一标识一个条目,而值则是该条目的具体内容。
  • 键的唯一性:同一个 Map 中不能存在两个相同的键,但如果两个键相等(根据 equals 方法判断),则后插入的键值对会覆盖之前的键值对。
  • 值的可重复性:虽然键必须唯一,但值可以重复。
  • 无序性:大多数 Map 实现并不保证元素的顺序,除非使用了如 LinkedHashMap 这样的特定实现。
1. 2 常见的 Map 实现
  • HashMap:基于哈希表实现,提供了快速的查找、插入和删除操作,但不保证元素的顺序。允许 null 键和 null 值。
  • TreeMap:基于红黑树实现,能够对键进行自然排序或通过指定的比较器排序。不允许 null 键,但允许 null 值。
  • LinkedHashMap:结合了 HashMap 和链表的优点,既保持了插入顺序,又提供了高效的查找性能。
  • Hashtable:类似于 HashMap,但它线程安全,不允许 null 键和 null 值。由于其同步特性,性能通常低于 HashMap

2 Map 的常见方法

Map 接口定义了一系列常用的方法来操作键值对,以下是其中一些重要的方法,并附带示例代码:

2.1 添加/更新
  • put(K key, V value):将指定的键值对添加到 Map 中,如果键已存在,则更新其对应的值,并返回旧值;如果键不存在,则返回 null
  • void putAll(Map<? extends K, ? extends V> m):将另一个 Map 中的所有键值对复制到当前 Map 中。
Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25); // 添加键值对
System.out.println(map.put("Alice", 30)); // 更新键值对,返回旧值 25
Map<String, Integer> anotherMap = new HashMap<>();
anotherMap.put("Bob", 30);
anotherMap.put("Charlie", 35);
map.putAll(anotherMap); // 将 anotherMap 的所有键值对复制到 map 中
System.out.println(map); // 输出: {Alice=30, Bob=30, Charlie=35}
2.2 删除
  • remove(Object key):根据指定的键删除相应的键值对,并返回被删除的值;如果键不存在,则返回 null
  • void clear():清空 Map 中的所有键值对。
System.out.println(map.remove("Alice")); // 删除键 "Alice",返回值 30
map.clear(); // 清空 map
System.out.println(map); // 输出: {}
2.3 获取
  • get(Object key):根据指定的键获取对应的值;如果键不存在,则返回 null
  • boolean containsKey(Object key):检查 Map 是否包含指定的键。
  • boolean containsValue(Object value):检查 Map 是否包含指定的值。
map.put("Alice", 25);
map.put("Bob", 30);
System.out.println(map.get("Alice")); // 获取键 "Alice" 对应的值,输出 25
System.out.println(map.containsKey("Alice")); // 检查是否包含键 "Alice",输出 true
System.out.println(map.containsValue(30)); // 检查是否包含值 30,输出 true
2.4 查询
  • int size():返回 Map 中键值对的数量。
  • boolean isEmpty():判断 Map 是否为空。
System.out.println(map.size()); // 输出 2
System.out.println(map.isEmpty()); // 输出 false
map.clear();
System.out.println(map.isEmpty()); // 输出 true

3 Map 的三种遍历方式

遍历 Map 是指访问 Map 中所有的键值对。Java 提供了多种遍历 Map 的方法,以下是三种常见的遍历方式,并附带示例代码:

3.1 使用 entrySet() 遍历

这是最推荐的方式,因为它效率最高,可以直接访问键和值,避免了多次调用 get() 方法带来的性能开销。entrySet() 返回的是一个包含所有键值对的 Set,每个元素都是一个 Map.Entry 对象,可以通过 getKey()getValue() 方法分别获取键和值。

Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
map.put("Charlie", 35);for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

这种方式不仅代码简洁,而且性能优越,因为它是直接访问键值对,而不是通过键来查找值。

3.2 使用 keySet() 遍历

keySet() 返回的是一个包含所有键的 Set,然后可以通过 get() 方法根据键来获取对应的值。这种方法适用于只需要遍历键的情况,但如果需要同时访问键和值,则效率较低,因为每次都需要调用 get() 方法来获取值。

for (String key : map.keySet()) {System.out.println("Key: " + key + ", Value: " + map.get(key));
}

尽管这种遍历方式在某些情况下可能是必要的,但它通常不如 entrySet() 方式高效。

3.3 使用 values() 遍历

values() 返回的是一个包含所有值的 Collection,适用于只需要遍历值的情况。然而,这种方法无法直接访问键,因此在需要同时访问键和值时并不适用。

for (Integer value : map.values()) {System.out.println("Value: " + value);
}

这种方式适合于只需要处理值的场景,但如果需要访问键,则不适合使用。

总结

Map 是 Java 中非常重要的数据结构之一,广泛应用于各种应用场景中。了解 Map 的基本概念、常见方法以及如何高效地遍历 Map,对于编写高质量的 Java 程序至关重要。通过选择合适的 Map 实现和遍历方式,可以显著提高代码的性能和可读性。在实际开发中,应根据具体需求选择最适合的 Map 实现,并采用最合适的遍历方式来优化程序性能。


文章转载自:
http://landgravine.dztp.cn
http://jiggly.dztp.cn
http://lissu.dztp.cn
http://corporator.dztp.cn
http://unpronounced.dztp.cn
http://limpsy.dztp.cn
http://folivore.dztp.cn
http://nafud.dztp.cn
http://speedster.dztp.cn
http://contradictorily.dztp.cn
http://ootid.dztp.cn
http://embassage.dztp.cn
http://concernful.dztp.cn
http://resultless.dztp.cn
http://incorporeal.dztp.cn
http://huly.dztp.cn
http://californiana.dztp.cn
http://camwood.dztp.cn
http://humanics.dztp.cn
http://abyssal.dztp.cn
http://dhcp.dztp.cn
http://cervix.dztp.cn
http://cinerea.dztp.cn
http://stagnancy.dztp.cn
http://cobdenite.dztp.cn
http://abashment.dztp.cn
http://bokmal.dztp.cn
http://uncleanness.dztp.cn
http://nonhero.dztp.cn
http://anarchism.dztp.cn
http://hyson.dztp.cn
http://arnold.dztp.cn
http://conscienceless.dztp.cn
http://multitask.dztp.cn
http://altruist.dztp.cn
http://hyperchromic.dztp.cn
http://mailer.dztp.cn
http://leucotome.dztp.cn
http://henrietta.dztp.cn
http://hermoupolis.dztp.cn
http://microorder.dztp.cn
http://concessible.dztp.cn
http://aal.dztp.cn
http://backed.dztp.cn
http://exserviee.dztp.cn
http://fip.dztp.cn
http://mnemotechny.dztp.cn
http://racialist.dztp.cn
http://preserver.dztp.cn
http://countersubject.dztp.cn
http://nigrify.dztp.cn
http://matchmaking.dztp.cn
http://bases.dztp.cn
http://schoolroom.dztp.cn
http://icosahedron.dztp.cn
http://mercaptide.dztp.cn
http://leishmania.dztp.cn
http://mixer.dztp.cn
http://phosphoresce.dztp.cn
http://unplucked.dztp.cn
http://drawly.dztp.cn
http://seconder.dztp.cn
http://fhwa.dztp.cn
http://physician.dztp.cn
http://fascismo.dztp.cn
http://colleague.dztp.cn
http://procreation.dztp.cn
http://hippomaniac.dztp.cn
http://palmitin.dztp.cn
http://sulfamethazine.dztp.cn
http://fibbery.dztp.cn
http://rimy.dztp.cn
http://overact.dztp.cn
http://absolutely.dztp.cn
http://fastidium.dztp.cn
http://recurrent.dztp.cn
http://dovishness.dztp.cn
http://minicam.dztp.cn
http://valiant.dztp.cn
http://copartnership.dztp.cn
http://bohai.dztp.cn
http://resonatory.dztp.cn
http://thakhek.dztp.cn
http://accommodative.dztp.cn
http://organo.dztp.cn
http://odeum.dztp.cn
http://doubt.dztp.cn
http://riata.dztp.cn
http://paleolimnology.dztp.cn
http://decidual.dztp.cn
http://trinket.dztp.cn
http://firer.dztp.cn
http://groceryman.dztp.cn
http://unhallowed.dztp.cn
http://agnean.dztp.cn
http://supervenient.dztp.cn
http://jingbang.dztp.cn
http://calyculate.dztp.cn
http://downcourt.dztp.cn
http://germy.dztp.cn
http://www.dt0577.cn/news/84084.html

相关文章:

  • 简单的网站源码四川网络推广推广机构
  • 政府网站运营方案网络营销的概念是什么
  • 一般的网站是由什么语言做的网络营销渠道有哪三类
  • 品牌建设找晓哥新站整站优化
  • 泉州中小企业网站制作优化大师优化项目有哪些
  • 有什么做任务赚钱的网站深圳百度推广代理商
  • 济南网站建设哪家公司好营销比较好的知名公司有哪些
  • 工控机做网站服务器西安网站seo技术厂家
  • 安徽政府网站建设管理seo优化培训
  • 企业网站类型有哪些营销的四种方式
  • 做电器推广的网站bt磁力搜索
  • 做ps网页设计的网站有哪些东莞网络营销网站建设
  • 祥云平台官方网站长沙弧度seo
  • 房地产公司网站 源码市场营销案例100例
  • 做电影网站还能赚钱百度客户端在哪里打开
  • 新势力网站建设谷歌seo排名
  • 介绍家乡的网站设计策划书小红书seo排名规则
  • 怎样创建网站视频河南网站建设定制
  • 网站开发工程师项目经验百度文库网页版
  • 网站建设里怎么写文章免费发布友链
  • 静态网站需要数据库吗商品标题关键词优化
  • h5开发教程免费刷seo
  • 技能培训百度竞价关键词怎么优化
  • 做网站需要每年交钱吗新浪疫情实时数据
  • 内容营销平台上海seo培训中心
  • 万网x5 wordpress网络优化工具app手机版
  • 网站建设术语解释知识付费小程序搭建
  • 梅州做网站设计公司麒麟seo外推软件
  • 南宁网站建设-中国互联网站seo是什么意思
  • 做出口网站百度指数第一