public BuiltInCollectorFactory() { collectors = new HashMap<>(); collectors.put(Optional.class, toOptional()); collectors.put(Collection.class, toCollection(ArrayList::new)); collectors.put(List.class, toList()); collectors.put(ArrayList.class, toCollection(ArrayList::new)); collectors.put(LinkedList.class, toCollection(LinkedList::new)); collectors.put(Set.class, toSet()); collectors.put(HashSet.class, toCollection(HashSet::new)); collectors.put(SortedSet.class, toCollection(TreeSet::new)); collectors.put(TreeSet.class, toCollection(TreeSet::new)); collectors.put(Map.class, toMap(LinkedHashMap::new)); collectors.put(HashMap.class, toMap(HashMap::new)); collectors.put(LinkedHashMap.class, toMap(LinkedHashMap::new)); collectors.put(SortedMap.class, toMap(TreeMap::new)); collectors.put(TreeMap.class, toMap(TreeMap::new)); collectors.put(ConcurrentMap.class, toMap(ConcurrentHashMap::new)); collectors.put(ConcurrentHashMap.class, toMap(ConcurrentHashMap::new)); collectors.put(WeakHashMap.class, toMap(WeakHashMap::new)); }