【发布时间】:2016-09-28 08:56:51
【问题描述】:
我有一个HashMap<Integer, Integer>。我将它的内容写入文件,所以它的每一行都包含hashmapKey:::hashmapValue。这就是我现在的做法:
List<String> mLines = new ArrayList<String>();
mHashMap.forEach((key, value) -> mLines.add(key + DATA_SEPARATOR + value));
Files.write(mOutputPath, mLines, StandardCharsets.UTF_8);
我非常怀疑是否需要将整个 HashMap 复制到字符串列表中,我确信在处理大量数据时它会给我带来性能问题。我的问题是:如何使用 Java 8 将 HashMap 内容写入文件以避免在另一个列表中复制值?
【问题讨论】:
-
您将编写代码的代码放在您的 lambda 中或使用
Map.entrySet遍历地图 -
你并不需要一个 DATA_SEPARATOR 因为 int 有一个固定的大小
标签: java hashmap java-8 nio java-stream