элементарная ж вещь, но полезная
Dec. 25th, 2008 06:31 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
public static <X, Y> Map<Y, Set<X>> groupBy(Set<X> xs, Set<Y> ys, Function<X, Y> f) { Map<Y, Set<X>> result = new HashMap<Y, Set<X>>(); for (Y y : ys) { result.put(y, new HashSet<X>()); } for (X x : xs) { result.get(f.apply(x)).add(x); } return result; }
меня немножко стремает что берём функцию а возвращаем мап, но...
no subject
Date: 2008-12-25 04:50 pm (UTC)no subject
Date: 2008-12-25 05:26 pm (UTC)no subject
Date: 2008-12-25 06:58 pm (UTC)no subject
Date: 2008-12-25 10:46 pm (UTC)А дело в том, что если не специфицировать, то те значения у, на которые ничего не попадает, не попадут и в мап; а хотелось бы, чтобы они уютненько мапились обратно на пустые множества.