6

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

 1=2
 2=3
 3=4

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

 2
 3
 4

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

4

5 回答 5

11

我会使用类似的东西

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

for(int value: map.values())
   System.out.println(value);
于 2012-04-16T19:17:07.677 回答
3

您正在寻找map.values().

于 2012-04-16T19:17:34.820 回答
2
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 ) );
        }
    }
}
于 2012-04-16T19:20:05.997 回答
2

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

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

于 2012-04-16T19:17:58.423 回答
0

您需要Map#values()方法,该方法返回一个Collection.

然后,您可以Iterator以正常方式从该集合中获取一个。

于 2012-04-16T19:18:54.990 回答