// patterns/TypeMap.java // (c)2021 MindView LLC: see Copyright.txt // We make no guarantees that this code is fit for any purpose. // Visit http://OnJava8.com for more book information. // Generic TypeMap works for any types. package patterns; import java.util.*; import java.util.stream.*; public class TypeMap { public final Map> map = new HashMap<>(); public void add(T o) { Class type = o.getClass(); map.computeIfAbsent(type, k -> new ArrayList()).add(o); } public Stream> values() { return map.values().stream(); } }