哈希映射 - 获取第一个键值

2022-08-31 06:22:34

以下是哈希映射中包含的值

statusName {Active=33, Renewals Completed=3, Application=15}

用于获取第一个密钥(即 Active)的 Java 代码

Object myKey = statusName.keySet().toArray()[0];

我们如何收集第一个Key“Value”(即33),我想将“Key”和“Value”存储在单独的变量中。


答案 1

你可以试试这个:

 Map<String,String> map = new HashMap<>();
 Map.Entry<String,String> entry = map.entrySet().iterator().next();
 String key = entry.getKey();
 String value = entry.getValue();

请记住,不保证广告订单。使用 a 保持顺序不变。HashMapLinkedHashMap

例如:

 Map<String,String> map = new LinkedHashMap<>();
 map.put("Active","33");
 map.put("Renewals Completed","3");
 map.put("Application","15");
 Map.Entry<String,String> entry = map.entrySet().iterator().next();
 String key= entry.getKey();
 String value=entry.getValue();
 System.out.println(key);
 System.out.println(value);

输出:

 Active
 33

更新:获取版本或更高版本中的第一个密钥。Java 8

Optional<String> firstKey = map.keySet().stream().findFirst();
if (firstKey.isPresent()) {
    String key = firstKey.get();
}

答案 2

获取“第一个”值:

map.values().toArray()[0]

获取“第一个”键的值:

map.get(map.keySet().toArray()[0])

注意:以上代码经过测试并有效。

我说“第一”是因为HashMap条目没有排序。

但是,LinkedHashMap 会按照插入条目的相同顺序迭代其条目 - 如果插入顺序很重要,则可以将其用于地图实现。