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

21. Map接口中keySet()、values()和entrySet()方法的区别是什么?它们各自返回什么内容?

在Java中,Map接口提供了keySet()values()entrySet()方法,这些方法用于访问Map中的不同部分。下面详细介绍它们的区别以及它们各自返回的内容。

1. keySet() 方法

  • 作用: keySet()方法返回Map中所有键(Key)的集合。

  • 返回类型: Set<K>,返回一个Set视图,包含了Map中所有的键。

  • 使用场景: 当你只需要遍历或操作Map中的键时,可以使用keySet()方法。由于键在Map中是唯一的,所以返回的是一个Set集合。

Map<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");
map.put(3, "Three");
​
Set<Integer> keys = map.keySet();
System.out.println(keys); // 输出: [1, 2, 3]

2. values() 方法

  • 作用: values()方法返回Map中所有值(Value)的集合。

  • 返回类型: Collection<V>,返回一个Collection视图,包含了Map中所有的值。

  • 使用场景: 当你只需要遍历或操作Map中的值时,可以使用values()方法。注意,Map中的值可以是重复的,所以返回的是一个Collection集合,而不是Set

Collection<String> values = map.values();
System.out.println(values); // 输出: [One, Two, Three]

3. entrySet() 方法

  • 作用: entrySet()方法返回Map中所有键值对的集合。

  • 返回类型: Set<Map.Entry<K, V>>,返回一个Set视图,包含了Map中所有的键值对。

  • 使用场景: 当你需要同时遍历或操作Map中的键和值时,可以使用entrySet()方法。每个Map.Entry对象表示一个键值对,可以通过getKey()getValue()方法分别获取键和值。

Set<Map.Entry<Integer, String>> entries = map.entrySet();
for (Map.Entry<Integer, String> entry : entries) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 输出:
// Key: 1, Value: One
// Key: 2, Value: Two
// Key: 3, Value: Three

区别总结

  • keySet(): 返回Map中所有键的集合(Set<K>)。适用于只需要操作键的场景。

  • values(): 返回Map中所有值的集合(Collection<V>)。适用于只需要操作值的场景。

  • entrySet(): 返回Map中所有键值对的集合(Set<Map.Entry<K, V>>)。适用于需要同时操作键和值的场景。

这些方法为你提供了不同的视图和操作Map的方式,可以根据具体需求选择适合的方法。


http://www.mrgr.cn/news/16310.html

相关文章:

  • 科技改变搜索习惯:Anytxt Searcher,重新定义你的信息获取方式!
  • 美股DT有没有程序化软件或者指标选股工具
  • nginx部署前端vue项目
  • SpringBoot + Vue实现websocket
  • AI写作神器!这四款免费工具让你文思泉涌
  • 代码生成技术的现状与未来发展方向
  • 卧室无主灯照明布局:打造温馨舒适的私密空间
  • leetcode 147.对链表进行插入排序
  • RK3588 系列之1—串口连接
  • TQRFSOC开发板47DR ADC输入采集测试(二)
  • Mac下的压缩包和Win看到的不一样怎么办 Mac压缩后Win电脑看文件名会乱码
  • Python优化算法18——教与学优化算法(TLBO)
  • 百元蓝牙耳机品牌哪个牌子好?入围四大排名蓝牙耳机推荐
  • 贪心算法---单调递增的数字
  • 零基础Opencv学习(一)
  • 最新版 Lambda 表达式|万字笔记
  • 【初学人工智能原理】【14】机器学习:最后一节课也是第一节课(完结)
  • HTTP 缓存
  • 餐饮烧烤店拓客点餐外卖小程序渠道发展
  • c# 笔记 winform添加右键菜单,获取文件大小 ,多条件排序OrderBy、ThenBy,list<double>截取前5个