// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true" import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class Main { private List asList(CharSequence s) { return Collections.singletonList(s); } public List getListExtends() { return Collections.emptyList(); } public List getList() { return Collections.emptyList(); } private void collect() { List list = new ArrayList<>(); for (CharSequence charSequence : getListExtends()) { if (charSequence != null) { list.add(charSequence); } } List res = list; System.out.println(res); } private void collect2() { List> result = new ArrayList<>(); for (CharSequence charSequence : getListExtends()) { List list = asList(charSequence); result.add(list); } List> res2 = result; System.out.println(res2); } static class MyList extends ArrayList> { } private void collectCustomList() { MyList> res2 = new MyList<>(); for (CharSequence charSequence : getListExtends()) { List list = asList(charSequence); res2.add(list); } System.out.println(res2); } static class MyList2 extends ArrayList { } public MyList2 createMyList2() { return new MyList2<>(); } private void collectGroupingByCustomList() { Map> result = new HashMap<>(); for (CharSequence x : getList()) { result.computeIfAbsent(x.length(), k -> createMyList2()).add(x); } Map> map = result; System.out.println(map); } private void collectToMap() { Map> result = new HashMap<>(); for (CharSequence charSequence : getList()) { if (charSequence != null) { if (result.put(charSequence, asList(charSequence)) != null) { throw new IllegalStateException("Duplicate key"); } } } Map> map = result; System.out.println(map); } }