Недавно я начал использовать функции JAVA-8, при реализации я использовал потоковые фильтры. для моего требования я сначала фильтрую, а затем обновляю в другом цикле поэтому я повторил свой цикл дважды. в то время как по-старому я мог выполнять фильтрацию и обновление по одному и тому же циклу. Итак, какой из них лучше фильтровать и обновлять Java-поток или использовать по-старому, если есть, и обновлять?
образец кода
private static void updateRank(List<DataDTO> dataList, Flag flag) {
int rank = 1;
List<DataDTO> updatedList = dataList.stream().filter(d -> flag.equals(d.getFlag())).sorted(Comparator.comparing(DataDTO::getUsdAmout).reversed()).collect(Collectors.toCollection(ArrayList::new));
for (DataDTO data : updatedList) {
data.setRank(data.getFlag().getTypeDesc() + " Rank " + rank++);
}
}