我有一个结构映射:
Map<String, Double> map = new LinkedHashMap<>();
我不知道关键,但我想拿起第一个元素和最后一个元素,我该如何方便地实现。
获取第一个很容易——请求一个iterator
并获取它的next
。
// Needs null checks etc.
String first = map.keySet().iterator().next();
获取最后一个包含在集合的Java get-last元素中。
一种方法:
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);
}
输出:
第一把钥匙:一个
最后一个键:三个
当然CCD_ 3在这种情况下从不为假。
编辑:
@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);
}
}
输出:
第一把钥匙:一个
最后一个键:一个