如果 hashmap 只包含一个键,有没有办法在不知道它的情况下获取该键?
If hashmap only contains one key, is there a way to get that key without knowing anything about it?
我有一个只有一个键(和一个值)的 hashamp。可以说我不知道那个键的键或值。有办法找到它吗?这听起来可能很愚蠢,但既然只有一个钥匙,那么有没有办法得到那个钥匙。
对于单个键映射,只需执行以下操作:
Map<String,String> map = Map.of("A","B");
System.out.println(map.keySet().iterator().next());
打印
A
对于人口较多的地图,您可以执行以下操作:
您可以通过 map.keySet()
获取地图的 keySet()
并对其进行迭代。
如果您想尝试找到与 value
关联的特定密钥,您可以
获取地图的 entrySet()
并执行如下操作:
String targetVal = "some value";
for (Entry<String,String> e : map.entrySet()) {
if (e.getValue().equals(targetVal)) {
System.out.println(e.getKey());
// or
System.out.println(e);
// keep iterating since multiple keys can
// map to the same value.
}
}
您可以通过 hash_map.keySet()
获取所有密钥
https://www.geeksforgeeks.org/hashmap-keyset-method-in-java/
是的,您可以使用 iterator
s,这使您能够 迭代 任何 Collection
(或 Map
的 entrySet()
):
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("First", "Entry");
System.out.println(map.entrySet().iterator().next());
}
}
这会打印:First=Entry
,其中 First
是键,Entry
是值。
hashMapObj.entrySet().iterator().next();
是您问题的答案。
我有一个只有一个键(和一个值)的 hashamp。可以说我不知道那个键的键或值。有办法找到它吗?这听起来可能很愚蠢,但既然只有一个钥匙,那么有没有办法得到那个钥匙。
对于单个键映射,只需执行以下操作:
Map<String,String> map = Map.of("A","B");
System.out.println(map.keySet().iterator().next());
打印
A
对于人口较多的地图,您可以执行以下操作:
您可以通过 map.keySet()
获取地图的 keySet()
并对其进行迭代。
如果您想尝试找到与 value
关联的特定密钥,您可以
获取地图的 entrySet()
并执行如下操作:
String targetVal = "some value";
for (Entry<String,String> e : map.entrySet()) {
if (e.getValue().equals(targetVal)) {
System.out.println(e.getKey());
// or
System.out.println(e);
// keep iterating since multiple keys can
// map to the same value.
}
}
您可以通过 hash_map.keySet()
https://www.geeksforgeeks.org/hashmap-keyset-method-in-java/
是的,您可以使用 iterator
s,这使您能够 迭代 任何 Collection
(或 Map
的 entrySet()
):
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("First", "Entry");
System.out.println(map.entrySet().iterator().next());
}
}
这会打印:First=Entry
,其中 First
是键,Entry
是值。
hashMapObj.entrySet().iterator().next();
是您问题的答案。