Hola, estoy tratando de pasar a mi página jsp dos Listas ordenadas que obtengo de la base de datos así
@RequestMapping(value = "/sortDate", method= RequestMethod.GET) public void sortedLists(Model model, HttpSession session){ List<Song> songsByDate; try { songsByDate = SongDAO.getInstance().getAllSongs(); Collections.sort(songsByDate, new UploadTimeComparator()); session.setAttribute("songs", songsByDate); ///////////////////////////////// List<Song> songsByLikes; try { songsByLikes = SongDAO.getInstance().getAllSongs(); Collections.sort(songsByLikes, new LikesComparator()); session.setAttribute("songs2", songsByLikes); }}}Sin embargo, el problema es que, dado que uso getInstance() , las canciones y las canciones2 son las mismas listas ordenadas por Me gusta, ¿cómo puedo superar este problema?
Debe copiar cada lista de "todas las canciones" en una nueva lista de matriz, que luego puede ordenar.
Asi que:
List<Song> songsByDate = new ArrayList<>( SongDAO.getInstance().getAllSongs() ); Collections.sort( songsByDate, new UploadTimeComparator() ); List<Song> songsByLikes = new ArrayList<>( SongDAO.getInstance().getAllSongs() ); Collections.sort( songsByLikes, new LikesComparator() );