import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner; public class LibreriaCanzoni{ public LibreriaCanzoni(Scanner sc){ lib = new LinkedList(); Canzone temp=Canzone.read(sc); while(temp!=null){ lib.addLast(temp); temp=Canzone.read(sc); } } public LibreriaCanzoni(LinkedList lib){ this.lib=lib; } public LinkedList getLib(){ return lib; } public LibreriaCanzoni filtroAutore(String autore){ LinkedList newLib = new LinkedList(); ListIterator iter = lib.listIterator(); while(iter.hasNext()){ Canzone temp=iter.next(); if(temp.getAutore().equals(autore)) newLib.addLast(temp); } return new LibreriaCanzoni(newLib); } public LibreriaCanzoni filtroTitolo(String titolo){ LinkedList newLib = new LinkedList(); ListIterator iter = lib.listIterator(); while(iter.hasNext()){ Canzone temp=iter.next(); if(temp.getAutore().equals(titolo)) newLib.addLast(temp); } return new LibreriaCanzoni(newLib); } public LibreriaCanzoni filtroAlbum(String album){ LinkedList newLib = new LinkedList(); ListIterator iter = lib.listIterator(); while(iter.hasNext()){ Canzone temp=iter.next(); if(temp.getAutore().equals(album)) newLib.addLast(temp); } return new LibreriaCanzoni(newLib); } private LinkedList lib; }