当前位置: 首页 > 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://www.yayakq.cn/news/955465/

相关文章:

  • 叫外包公司做网站不肯给源代码的营销型建设网站实训总结
  • 网站管理助手3.0蚌埠市做家教网站
  • 自己设置网站怎么做移动局域网ip做网站
  • 邯郸建设企业网站网站建设案例 优帮云
  • 建设银行网站维护电话网站整体建设方案
  • 用阿里云做网站会不会被黑asp网站建设实录pdf
  • 代挂网站维护C 建设个人网站
  • 青岛微信网站制作中山软件开发定制
  • 如何在360做网站SEO广州白云区最新信息
  • 品牌加盟最好的网站建设怎么营销自己的产品
  • 现在清算组备案在哪个网站做桥梁建设工程网站
  • 百度网盘官方网站网站未备案 打不开
  • 做网站资源推荐临淄网站建设公司
  • 广州市做网站简述什么是seo及seo的作用
  • iis网站防盗链wordpress主题无法安装这个包
  • 织梦网站地图样式电影网站做流量
  • 网站后台ftp账户军事新闻
  • 内蒙建设厅官方网站单页面网站做百度推广
  • 免费跨境电商网站太原seo网站排名优化
  • 手机网站一般多宽课程网站如何建设
  • 上海网站空间网站设计的收费
  • 天津龙腾公司做网站东莞市官网网站建设报价
  • 制作手机软件网站网页程序编写
  • 如乐网站外贸网站建设内容包括哪些
  • wordpress恢复网站做网页的软件html
  • 做网站是不是要有数据库沈阳工程信息网官网
  • 西安网站建设培训中心wordpress建站图片效果
  • 视频音乐网站怎样建设网站建设图片路径错了 怎么改
  • 厦门建设与管理局官网找南昌seo服务商
  • 北京建设银行官方网站55建筑网官网