我目前正在使用java.nio
来读取文件(使用Files.readAllLines
)然后传递每一行来创建一个对象[new Object(line)]
,并将该对象添加到一个集合中。 / p>
每个文件的解析方式都不同,因此有3种类型的对象,其中2种被添加到地图中,它们应该先完成,因为它们第三次添加到一个集合并被添加到前两个映射中的变量中[使用类似的东西:
get(var).x.add(Object)].
我真的不明白如何同时编写代码并且无法找到与此相关的任何内容但我想可以使用并发来创建前两个集合或者在所有三个集合中使用它并且最后完成最后一个集合(或者让它等待,如果尚未设置它需要编辑的变量,则稍后再做)。
任何帮助都将受到赞赏,如果您需要澄清我正在寻找的东西,请询问。
答案 0 :(得分:0)
所以你有3个文件,其中2个要放入地图,最后一个文件用于添加地图的某个值,对吗?
您可以为两个文件中的每一个创建线程并将数据放入地图中。这里重要的是您必须使用并发数据结构,如ConcurrentHashMap
或同步映射。
答案 1 :(得分:0)
我会使用以下全局步骤同时执行此操作:
Executors. newFixedThreadPool(someSize)
Collections.synchronizedSet(new HashSet<YourObjectType>());