- Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Copy pathTT3.java
47 lines (36 loc) · 849 Bytes
/
TT3.java
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
importjava.util.*;
interfacePlaylist {
SonggetNextSong();
booleanhasNextSong();
}
classSong {
Stringname;
publicSong(Stringname) {
this.name = name;
}
}
classCollaborativePlaylistimplementsPlaylist {
privateDeque<Playlist> dq;
publicCollaborativePlaylist(List<Playlist> playlists) {
dq = newArrayDeque<>();
for (Playlistp : playlists) {
dq.offer(p);
}
}
@Override
publicSonggetNextSong() {
while (!dq.isEmpty()) {
Playlistp = dq.pollFirst();
if (p.hasNextSong()) {
Songs = p.getNextSong();
dq.offerLast(p);
returns;
}
}
returnnull;
}
@Override
publicbooleanhasNextSong() {
return !dq.isEmpty();
}
}