如何方便地从LinkedHashMap中获取第一个元素或最后一个元素?
how to conveniently get first element or last element from LinkedHashMap?
我有一个结构图:
Map<String, Double> map = new LinkedHashMap<>();
我不知道key,但是我想取第一个元素和最后一个元素,请问如何方便地实现。
一种方法:
Map<String, Double> map = new LinkedHashMap<>();
map.put("one", 2.0);
map.put("two", 12.0);
map.put("three", 44.0);
String lKeyFirst = null;
String lKeyLast = null;
if (!map.isEmpty()){
lKeyFirst = map.keySet().iterator().next();
for(String key : map.keySet()){
lKeyLast = key;
}
System.out.println("First key: " +lKeyFirst);
System.out.println("Last key: " +lKeyLast);
}
输出:
First key: one
Last key: three
当然 isEmpty
在这种情况下永远不会为假。
编辑:
@Test
public void testMapOneValue() {
Map<String, Double> map = new LinkedHashMap<>();
map.put("one", 2.0);
String lKeyFirst = null;
String lKeyLast = null;
if (!map.isEmpty()){
lKeyFirst = map.keySet().iterator().next();
for(String key : map.keySet()){
lKeyLast = key;
}
System.out.println("First key: " +lKeyFirst);
System.out.println("Last key: " +lKeyLast);
}
}
输出:
First key: one
Last key: one
获得第一个很容易 - 请求一个 iterator
并获得 next
。
// Needs null checks etc.
String first = map.keySet().iterator().next();
获取最后一个在 Java get last element of a collection 中介绍。
我有一个结构图:
Map<String, Double> map = new LinkedHashMap<>();
我不知道key,但是我想取第一个元素和最后一个元素,请问如何方便地实现。
一种方法:
Map<String, Double> map = new LinkedHashMap<>();
map.put("one", 2.0);
map.put("two", 12.0);
map.put("three", 44.0);
String lKeyFirst = null;
String lKeyLast = null;
if (!map.isEmpty()){
lKeyFirst = map.keySet().iterator().next();
for(String key : map.keySet()){
lKeyLast = key;
}
System.out.println("First key: " +lKeyFirst);
System.out.println("Last key: " +lKeyLast);
}
输出:
First key: one
Last key: three
当然 isEmpty
在这种情况下永远不会为假。
编辑:
@Test
public void testMapOneValue() {
Map<String, Double> map = new LinkedHashMap<>();
map.put("one", 2.0);
String lKeyFirst = null;
String lKeyLast = null;
if (!map.isEmpty()){
lKeyFirst = map.keySet().iterator().next();
for(String key : map.keySet()){
lKeyLast = key;
}
System.out.println("First key: " +lKeyFirst);
System.out.println("Last key: " +lKeyLast);
}
}
输出:
First key: one
Last key: one
获得第一个很容易 - 请求一个 iterator
并获得 next
。
// Needs null checks etc.
String first = map.keySet().iterator().next();
获取最后一个在 Java get last element of a collection 中介绍。