Я пытаюсь изменить строки, которые хранятся в ArrayList.Это не только печать измененного списка.После усечения список будет перенесен в систему.
Решение, с которым я столкнулся, работает, но мне интересно, использую ли я весь потенциал потоков Java 8.
Работа(но далеко не идеально) решение:
import static java.util.stream.Collectors.toList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
ArrayList<List<String>> listOfListsOfStrings = new ArrayList<>();
listOfListsOfStrings.add(Arrays.asList("abc ", "bd ", " asd ", "s"));
listOfListsOfStrings.add(Arrays.asList("123 ", "45 ", " 753 ", "111"));
listOfListsOfStrings.add(Arrays.asList("sdfg2 ", "b23d ", " as123d ", "1s1"));
ArrayList<List<String>> newListOfLists = new ArrayList<>();
for (List<String> listOfStrings : listOfListsOfStrings) {
List<String> newList = listOfStrings.stream().map(String::trim).collect(toList());
newListOfLists.add(newList);
}
listOfListsOfStrings.forEach(list -> list.forEach(System.out::println));
System.out.println("------------------");
newListOfLists.forEach(list -> list.forEach(System.out::println));
}
}