我有一个结构图:
Map<String, Double> map = new LinkedHashMap<>();
我不知道密钥,但我想拿起第一个元素和最后一个元素,我怎样才能方便地实现。
答案 0 :(得分:2)
获得第一个很容易 - 请求iterator
并将其next
。
// Needs null checks etc.
String first = map.keySet().iterator().next();
获取最后一项内容已在Java get last element of a collection中介绍。
答案 1 :(得分:0)
一种方法:
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);
}
输出:
第一把钥匙:一个
最后一个关键:三个
当然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);
}
}
输出:
第一把钥匙:一个
最后一个键:一个