如何方便地从LinkedHashMap中获取第一个元素或最后一个元素



我有一个结构映射:

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);
}
}

输出:

第一把钥匙:一个

最后一个键:一个

最新更新