Bruce Eckel ede3954d86 March 2021 Book Update
See notes in "Foreword to the Leanpub Edition"
2021-03-04 16:15:04 -07:00

22 lines
586 B
Java

// 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<T> {
public final Map<Class, List<T>> map =
new HashMap<>();
public void add(T o) {
Class type = o.getClass();
map.computeIfAbsent(type,
k -> new ArrayList<T>()).add(o);
}
public Stream<List<T>> values() {
return map.values().stream();
}
}