Генерики такие генерики
Sep. 27th, 2013 08:57 amИМХО, такое сильно хуже пихания в Object:
Правда, на модном ныне хаскеле можно изобразить похожее:

- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import static com.google.common.collect.Maps.filterValues;
- import static com.google.common.collect.Maps.transformValues;
- import static java.util.Map.Entry;
- public class Test {
- private Map<Class<?>, Map<String, List<String>>> compressDependencies(
- Map<Class<?>, Map<String, List<String>>> dependencies ) {
- final Map<Class<?>, Map<String, List<String>>> result = new HashMap<>();
- for( Entry<Class<?>, Map<String, List<String>>> clazz : dependencies.entrySet() ) {
- final Map<String, List<String>> desc = new HashMap<>();
- for( Entry<String, List<String>> d : clazz.getValue().entrySet() ) {
- List<String> value = d.getValue();
- if( !value.isEmpty() ) desc.put( d.getKey(), value );
- }
- result.put( clazz.getKey(), desc );
- }
- return result;
- }
- private Map<Class<?>, Map<String, List<String>>> compressDependencies2(
- Map<Class<?>, Map<String, List<String>>> dependencies ) {
- return transformValues( dependencies, map -> filterValues( map, v -> !v.isEmpty() ) );
- }
- }
Правда, на модном ныне хаскеле можно изобразить похожее:
