关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
我正在为大学做一个java项目。我需要在一个字符串列表中添加一个Map的前5个值,但是我似乎找不到一种方法来迭代5个元素,而不是像使用迭代器那样迭代所有元素
基本上我有一个Map声明如下: Map<String, Integer> infl_numbers = new HashMap<>();
我想这样做:
for (short i =0;i<5;i++){
// element = get i-th element of the Map
// list.add(element)
}
有人能帮我吗?
2条答案
按热度按时间krugob8w1#
HashMap
对于这个要求是错误的类。因为HashMap
如果没有排序,您每次可能会得到一组不同的五个元素。你应该使用LinkedHashMap
保持插入顺序。然后,您可以迭代密钥集,并在计数器的帮助下获得前五个元素。输出:
v8wbuo2f2#
不能直接在Map上使用索引(i=0..4),因为Map通常是无序的。套路也一样。所以你所能做的就是开始处理Map,得到你得到的任何东西,然后在你得到5个东西后停止:
有一些类型的Map是有序的。因此,如果你有一个对其中一个的引用,而不仅仅是一个对Map的引用,那么故事就不同了,这取决于你所处理的Map的子类型。