我想从HashMap
获取第一个值,而我不知道值的关键字。
可能吗?是否有图书馆可以做到这一点?
答案 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
,则会按照其自然顺序对键进行排序。
我建议您先阅读TreeMap
和LinkedHashMap
的Javadoc,然后再决定哪两个适用于您的应用。
答案 2 :(得分:0)
首先使用LinkedHashMap
或TreeMap
维护广告订单顺序,之后只需使用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());
}