使用索引迭代Java Map

如何迭代Map以将内容从特定索引写入另一个索引.

Map<String, Integer> map = new LinkedHashMap<>();
    BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(file));

            for (String string : map.keySet()) {

                    bufferedWriter.write(string + " " + map.get(string));
                    bufferedWriter.newLine();

            }
            bufferedWriter.close();

我有两个int值,from和to,我现在怎么写10到100?有没有可能用索引迭代地图?

LinkedHashMap保留插入条目的顺序.因此,您可以尝试使用索引创建键列表并循环:

List<String> keyList = new ArrayList<String>(map.keySet());
for(int i = fromIndex; i < toIndex; i++) {
    String key = keyList.get(i);
    String value = map.get(key);
    ...
}

另一种不创建列表的方法:

int index = 0;
for (String key : map.keySet()) {
    if (index++ < fromIndex || index++ > toIndex) {
        continue;
    }
    ...
}
相关文章
相关标签/搜索