-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSorter.java
More file actions
28 lines (23 loc) · 924 Bytes
/
Sorter.java
File metadata and controls
28 lines (23 loc) · 924 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.Comparator;
import java.util.stream.Collectors;
public class Sorter {
private SongLibrary songlib;
public Sorter(SongLibrary sl){
this.songlib = sl;
}
//1 - Sort by Title Name
public void sortByTitleName(){
songlib.modifyPlaylist(songlib.getMyLibrary().stream().sorted(Comparator.comparing(Song::getTitle)).collect(Collectors.toList()));
}
//2 - Sort by Artist Name
public void sortByAuthorName(){
songlib.modifyPlaylist(songlib.getMyLibrary().stream().sorted(Comparator.comparing(Song::getAuthor)).collect(Collectors.toList()));
}
//3 - Sort by Publishing Year
public void sortByPublishingYear(){
songlib.modifyPlaylist(songlib.getMyLibrary().stream().sorted(Comparator.comparing(Song::getPublishingYear)).collect(Collectors.toList()));
}
public void changeLibrary(SongLibrary sl){
this.songlib = sl;
}
}