// "Replace Stream API chain with loop" "true" import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Main { static class MyList extends ArrayList {} public List getList() { return Collections.emptyList(); } public MyList createList() { return new MyList<>(); } private void collect() { Map> map = getList().stream().collect(Collectors.groupingBy(x -> x.length(), Collectors.toCollection(this::createList))); System.out.println(map); }