juan_gandhi: (Default)
[personal profile] juan_gandhi
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;
}


меня немножко стремает что берём функцию а возвращаем мап, но...

Date: 2008-12-25 04:50 pm (UTC)
From: [identity profile] hill-report.livejournal.com
Чета у меня такие операции с нахождением меры ассоциируются...

Date: 2008-12-25 05:26 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Не понял, зачем ys.

Date: 2008-12-25 10:46 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Так, зачем ys.

А дело в том, что если не специфицировать, то те значения у, на которые ничего не попадает, не попадут и в мап; а хотелось бы, чтобы они уютненько мапились обратно на пустые множества.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

July 2025

S M T W T F S
  12345
6789 101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 12th, 2025 01:18 pm
Powered by Dreamwidth Studios