下面是HashMap中包含的值
statusName {Active=33, Renewals Completed=3, Application=15}
Run Code Online (Sandbox Code Playgroud)
获取第一个密钥的Java代码(即活动)
Object myKey = statusName.keySet().toArray()[0];
Run Code Online (Sandbox Code Playgroud)
我们如何收集第一个键"值"(即33),我想将"键"和"值"存储在单独的变量中.
Ruc*_*era 202
你可以试试这个:
Map<String,String> map = new HashMap<>();
Map.Entry<String,String> entry = map.entrySet().iterator().next();
String key = entry.getKey();
String value = entry.getValue();
Run Code Online (Sandbox Code Playgroud)
请注意,HashMap不保证插入订单.使用a LinkedHashMap来保持订单完好无损.
例如:
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);
Run Code Online (Sandbox Code Playgroud)
输出:
Active
33
Run Code Online (Sandbox Code Playgroud)
Boh*_*ian 51
获得"第一"价值:
map.values().toArray()[0]
Run Code Online (Sandbox Code Playgroud)
要获取"第一个"键的值:
map.get(map.keySet().toArray()[0])
Run Code Online (Sandbox Code Playgroud)
注意:以上代码经过测试和运行.
我说"第一"因为没有订购HashMap条目.
但是,LinkedHashMap以与插入顺序相同的顺序迭代其条目 - 如果插入顺序很重要,您可以将其用于地图实现.
who*_*ami 38
Java 8的做法,
String firstKey = map.keySet().stream().findFirst().get();
科特林答案
获取第一个键,然后获取键的值。Kotlin 有“ first() ”函数:
val list = HashMap<String, String>() // Dummy HashMap.
val keyFirstElement = list.keys.first() // Get key.
val valueOfElement = list.getValue(keyFirstElement) // Get Value.
Run Code Online (Sandbox Code Playgroud)
您也可以尝试使用此方法获取完整的第一个条目,
Map.Entry<String, String> entry = map.entrySet().stream().findFirst().get();
String key = entry.getKey();
String value = entry.getValue();
Run Code Online (Sandbox Code Playgroud)
这仅获得第一个条目的密钥,
String key = map.entrySet().stream().map(Map.Entry::getKey).findFirst().get();
// or better
String key = map.keySet().stream().findFirst().get();
Run Code Online (Sandbox Code Playgroud)
这仅获得第一个条目的值,
String value = map.entrySet().stream().map(Map.Entry::getValue).findFirst().get();
// or better
String value = map.values().stream().findFirst().get();
Run Code Online (Sandbox Code Playgroud)
此外,如果您知道自己在做什么,并且希望获得地图的第二项(与第三项相同),则应该尝试这样做,
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233535 次 |
| 最近记录: |