import java.util.Arrays;
import java.util.List;
import ch.lambdaj.group.Group;
import static ch.lambdaj.Lambda.*;
public class LambdaJGroupTest {
public static class Data {
String foo;
String bar;
Data(String foo, String bar) {
this.foo = foo;
this.bar = bar;
}
public String getFoo() {
return foo;
}
public String getBar() {
return bar;
}
}
public static void main(String[] args) {
List<Data> list = Arrays.asList(
new Data("foo1", "bar1"),
new Data("foo1", "bar2"),
new Data("foo2", "bar1"),
new Data("foo2", "bar2")
);
Group<Data> group = group(list, by(on(Data.class).getFoo()), by(on(Data.class).getBar()));
System.out.println(group.findGroup("foo1").getHeads());
System.out.println(group.findGroup("foo1").findGroup("bar1").getHeads());
}
}