如何使用另一个实例列表在java中高效地创建实例列表
我有一个实例列表,需要使用第一个列表中的实例创建另一个实例列表。 如下图所示,我可以使用foreach或for循环。有没有更好的方法来提高效率
List<Mesage> messages;
List<ArchMessage> archMessages = new ArrayList<>();
for(Message message : messages) {
archMessages.add(new ArchMessage(message));
}
# 1 楼答案
您可以使用Java 8
Stream
:或者
# 2 楼答案
这是最有效的,但假设你的代码可以从并行性中受益,那么使用streams API将是理想的,因为我们可以免费获得并行性 通过使用
parallelStream
例如除此之外,你目前的方法看起来不错,可读性强
# 3 楼答案
反馈给你的同事: 我建议不要使用foreach。它会让你的效率下降,因为每次都会有一个内在的要求。我建议每次都使用a
# 4 楼答案
如果无法使用来自Java 8的流,Apache Commons Collections库将提供以下内容:
http://commons.apache.org/proper/commons-collections/