下面是HashMap中包含的值
statusName {Active=33, Renewals Completed=3, Application=15}
获取第一个Key(即Active)的Java代码
Object myKey = statusName.keySet().toArray()[0];
我们如何收集第一个键“值”(即33),我想在单独的变量中存储“键”和“值”。
下面是HashMap中包含的值
statusName {Active=33, Renewals Completed=3, Application=15}
获取第一个Key(即Active)的Java代码
Object myKey = statusName.keySet().toArray()[0];
我们如何收集第一个键“值”(即33),我想在单独的变量中存储“键”和“值”。
当前回答
Java 8的方法,
String firstKey = map.keySet().stream().findFirst().get();
其他回答
Java 8的方法,
String firstKey = map.keySet().stream().findFirst().get();
请注意,您应该注意到您的逻辑流永远不能依赖于以某种顺序访问HashMap元素,简单地说,因为HashMap不是有序的集合,这不是它们的目的。(你可以在这篇文章中阅读更多关于有序和排序集合的信息)。
回到文章中,通过加载第一个元素键,你已经完成了一半的工作:
Object myKey = statusName.keySet().toArray()[0];
只需调用map.get(key)来获取相应的值:
Object myValue = statusName.get(myKey);
芬兰湾的科特林回答
获取第一个键,然后获取键的值。Kotlin有first()函数:
val list = HashMap<String, String>() // Dummy HashMap.
val keyFirstElement = list.keys.first() // Get key.
val valueOfElement = list.getValue(keyFirstElement) // Get Value.
你也可以尝试下面的方法来获得完整的第一项,
Map.Entry<String, String> entry = map.entrySet().stream().findFirst().get();
String key = entry.getKey();
String value = entry.getValue();
下面展示了如何获得第一个条目的密钥,
String key = map.entrySet().stream().map(Map.Entry::getKey).findFirst().get();
// or better
String key = map.keySet().stream().findFirst().get();
下面展示了如何获取第一个条目的值,
String value = map.entrySet().stream().map(Map.Entry::getValue).findFirst().get();
// or better
String value = map.values().stream().findFirst().get();
此外,如果希望获得地图的第二个(第三个等)项,并且您已经验证该地图包含至少2个条目,您可以使用以下方法。
Map.Entry<String, String> entry = map.entrySet().stream().skip(1).findFirst().get();
String key = map.keySet().stream().skip(1).findFirst().get();
String value = map.values().stream().skip(1).findFirst().get();
你也可以试试下面的方法:
Map.Entry<String, Integer> entry = myMap.firstEntry();
System.out.println("First Value = " + entry);