Skip to content

Instantly share code, notes, and snippets.

@IevgenOsetrov
Last active December 1, 2016 09:56
Show Gist options
  • Save IevgenOsetrov/0d68cdc2626e810ff128530cfceb7e70 to your computer and use it in GitHub Desktop.
Save IevgenOsetrov/0d68cdc2626e810ff128530cfceb7e70 to your computer and use it in GitHub Desktop.
Split List on lists by property
private ArrayList<FilmsByGenre> splitFilmsByGenres(ArrayList<FilmItem> films) {
Map<String, ArrayList<FilmItem>> filmListMap = new HashMap<>();
for (FilmItem film : films) {
ArrayList<FilmItem> temp = filmListMap.get(film.getGenreName());
if (temp == null) {
temp = new ArrayList<>();
filmListMap.put(film.getGenreName(), temp);
}
temp.add(film);
}
ArrayList<FilmsByGenre> filmsByGenres = new ArrayList<>();
for (Map.Entry<String, ArrayList<FilmItem>> filmEntry : filmListMap.entrySet()) {
FilmsByGenre genreFilms = new FilmsByGenre(filmEntry.getKey(), filmEntry.getValue());
filmsByGenres.add(genreFilms);
}
return filmsByGenres;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment