Getting the key when we know the value in HashMap
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Java Hashmap: How to get key from value?
我知道HashMap包含一个特定的整数变量作为值。 如何获得与此值相关联的密钥?
这段代码会这样做:
1 2 3 4 5 6 7 8 9 |
1 2 3 4 5 6 |
干得好:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Test { public static void main( String args[] ) { Map < Integer , Integer > map = new HashMap < Integer , Integer >(); map.put( 1 , 2 ); map.put( 3 , 4 ); map.put( 5 , 6 ); map.put( 7 , 4 ); List< Integer > keys = new ArrayList< Integer >(); Integer value = 4; for ( Integer key : map.keySet() ) { if ( map.get( key ).equals( value ) ) { keys.add( key ); } } System.out.println( value +" has been found in the following keys:" + keys ); } } |
输出是:
1 | 4 has been found in the following keys: [7, 3] |
如果您知道密钥,Hashmaps可帮助您找到值。 如果您真的想要从值中获取密钥,则必须遍历所有项目,比较值,然后获取密钥。
试试这个....短而甜蜜的方式......
1 2 3 4 5 6 7 |
在entrySet上循环更快,因为您不会为每个键查询两次映射。
1 2 3 4 5 6 7 8 9 |