从 HashMap 中提取值

Posted

技术标签:

【中文标题】从 HashMap 中提取值【英文标题】:extracting values from HashMap 【发布时间】:2012-04-28 03:24:59 【问题描述】:

我试图学习并理解 HashMap 的工作原理。所以我创建了这个哈希图来存储某些值,这些值在使用迭代器显示时会给我输出

 1=2
 2=3
 3=4

等等。我使用Iterator.next() 函数获得此输出。现在我真正的疑问是,由于这个值的类型是在迭代器对象中返回的,如果我只需要提取上述等式的右侧值,是否有任何功能?类似于子字符串的东西。有什么办法可以让我得到结果

 2
 3
 4

任何帮助将不胜感激。提前致谢。

【问题讨论】:

在大多数情况下,不需要直接与迭代器交互。请参阅 Peter Lawrey 的回答,了解如何为每个循环创建一个。 【参考方案1】:

我会使用类似的东西

Map<Integer, Integer> map = new HashMap<>();

for(int value: map.values())
   System.out.println(value);

【讨论】:

【参考方案2】:

您正在寻找map.values()

【讨论】:

【参考方案3】:

Map 有一个名为 values() 的方法来获取所有值的集合。 (右侧)

同样,有一个方法调用 keySet() 来获取所有键的 Set。 (左侧)

【讨论】:

【参考方案4】:
import java.util.HashMap;

public class Test

    public static void main( String args[] )
    
        HashMap < Integer , Integer > map = new HashMap < Integer , Integer >();

        map.put( 1 , 2 );
        map.put( 2 , 3 );
        map.put( 3 , 4 );

        for ( Integer key : map.keySet() )
        
            System.out.println( map.get( key ) );
        
    

【讨论】:

【参考方案5】:

您需要返回Collection 的Map#values() 方法。

然后您可以通过正常方式从此集合中获取Iterator

【讨论】:

以上是关于从 HashMap 中提取值的主要内容,如果未能解决你的问题,请参考以下文章

从 ArrayList Java 中的 HashMap 键中检索所有值

从Hashmap的所有值中获取所有嵌套项

如何从 Kotlin 中的 Hashmap 获取值的关键?

从 hashmap 存储和检索 ArrayList 值

HashMap 中 Key 类型的选择

Java ArrayList:从包含 HashMap 的 ArrayList 中获取不同的值