如何以声明方式获取Map
的值?
如果地图的内容是 -
Key "Apple" - Value "3"
Key "Banana" - Value "4"
Key "Orange" - Value "8"
我不想 -
Key "Banana" - Value "4"
Key "Apple" - Value "3"
Key "Orange" - Value "8"
如何迭代并获取声明的订单?
答案 0 :(得分:10)
Map
实现不需要保留插入顺序。最常用的 - HashMap
不会,例如。
您可以使用java.util.LinkedHashMap
,这样做。
这个实现与HashMap的不同之处在于它维护着一个运行所有条目的双向链表。此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序)
答案 1 :(得分:2)
您是否要求让容器以自定义顺序(例如字母顺序)向您返回对象,或者您是否在寻找插入订单?其他人已经建议解决插入顺序。我赞成他们。
如果这不是您想要的,我建议您查看SortedMap,TreeMap,NavigableMap及其同类。在那里,您可以制作一个自定义comparator,它会返回您选择的顺序。如果你没有制作一个比较器,它默认比关键对象的比较少。
答案 2 :(得分:1)