Java Map中keySet()与value()方法的区别
Map接口存在于Java.util包中,它主要提供了三个方法KeySet()、entrySet()和values()。这些方法分别用于检索Map的键、Map的键值对以及Map的值。由于这些方法是Map接口的一部分,所以我们可以在所有实现Map接口的类中使用这些方法,比如TreeMap、HashMap和LinkedHashMap。
为了弄清它们之间的差异,让我们首先从概念上逐一分析,然后再从实施上弄清它们之间的主要差异。
方法1: keySet()方法
该方法用于返回该Map中包含的键的Set视图。这个集合是由Map支持的,所以Map的变化会反映在这个集合中,反之亦然。
语法:
参数: 这个方法没有参数。
返回: 该方法返回一个包含指定Map的键的集合。
实现
示例
输出
方法2: values()方法
Java中HashMap类的java.util.HashMap.values()方法是用来从Map的值中创建一个集合。它基本上返回HashMap中数值的一个集合视图。
语法:
参数: 该方法不接受任何参数。
返回值: 该方法用于返回一个包含Map所有值的集合视图。
实现情况: 以下是使用values()方法的Java程序
示例
输出
最后,让我们看看keySet()方法和values()方法之间的区别如下。
keySet()方法 | values()方法 |
---|---|
该方法返回Map中存在的所有键的Set视图,即它返回一个键的集合。 | 该方法返回Map中包含的所有值的集合视图。 |
如果Map发生任何变化,那么它们也可以在集上观察到,因为集是由Map支持的。 | 如果Map发生任何变化,那么它们也可以在集合中观察到,因为集合是由Map支持的。 |
只有当我们需要处理Map中存在的所有键时,才会使用这种方法。 | 当我们只需要处理Map中存在的所有数值时,就可以使用这种方法。 |