在HashMap中获取具有未知键的第一个值

时间:2014-04-25 22:09:23

标签: java map hashmap

我想从HashMap获取第一个值,而我不知道值的关键字。 可能吗?是否有图书馆可以做到这一点?

3 个答案:

答案 0 :(得分:3)

您可以使用java.util.LinkedHashMap<K, V>。然后,您可以按插入顺序遍历地图。

要只获取第一个条目,可以使用迭代器:

Map<String, String > map = new LinkedHashMap<String, String >();
// ... fill the map
Entry<String, String > next = map.entrySet().iterator().next();
next.getKey();
next.getValue();

答案 1 :(得分:0)

如果您想要插入地图中的第一个键,请使用LinkedHashMap。它基本上是一个HashMap,可以记住插入内容的顺序,因此您可以按原始顺序迭代它们。

如果要选择密钥类的自然顺序中的第一个键;或者如果您想在自己的某些排序下选择第一个键,请使用TreeMap。这是一种地图,可以在将内容插入地图时对其进行排序。如果要指定键的排序顺序,可以设置TreeMap及其Comparator。如果您在创建Comparator时未提供TreeMap,则会按照其自然顺序对键进行排序。

我建议您先阅读TreeMapLinkedHashMap的Javadoc,然后再决定哪两个适用于您的应用。

答案 2 :(得分:0)

首先使用LinkedHashMapTreeMap维护广告订单顺序,之后只需使用Iterator

你可以这样做。

Iterator it = map.entrySet().iterator();
    while (it.hasNext()) {
        //This will be your very first element
        Map.Entry pairs = (Map.Entry)it.next(); 
        System.out.println(pairs.getKey() + " = " + pairs.getValue());
    }