@Test public void whenGroupListUsingMultimap_thenGrouped() { final List<String> names = Lists.newArrayList("John", "Adam", "Tom"); final Function<String, Integer> function = new Function<String, Integer>() { @Override public final Integer apply(final String input) { return input.length(); } }; final Multimap<Integer, String> groups = Multimaps.index(names, function); assertThat(groups.get(3), containsInAnyOrder("Tom")); assertThat(groups.get(4), containsInAnyOrder("John", "Adam")); }