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

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

 1=2
 2=3
 3=4

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

 2
 3
 4

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

【问题讨论】:

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

标签: java iterator hashmap


【解决方案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】:

          您需要返回CollectionMap#values() 方法。

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

          【讨论】:

            猜你喜欢
            • 2016-03-10
            • 2019-03-09
            • 2014-12-03
            • 1970-01-01
            • 1970-01-01
            • 2016-11-30
            • 2014-06-17
            • 1970-01-01
            • 2011-03-26
            相关资源
            最近更新 更多