Use groupingBy collector in ListHelper
This commit is contained in:
parent
2e318b8b03
commit
170dfef582
|
@ -28,6 +28,7 @@ import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
@ -338,18 +339,9 @@ public final class ListHelper {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
final HashMap<String, List<AudioStream>> collectedStreams = new HashMap<>();
|
final Map<String, List<AudioStream>> collectedStreams = audioStreams.stream()
|
||||||
|
.collect(Collectors.groupingBy(stream ->
|
||||||
for (final AudioStream stream : audioStreams) {
|
Objects.requireNonNullElse(stream.getAudioTrackId(), "")));
|
||||||
final String trackId = Objects.toString(stream.getAudioTrackId(), "");
|
|
||||||
if (collectedStreams.containsKey(trackId)) {
|
|
||||||
collectedStreams.get(trackId).add(stream);
|
|
||||||
} else {
|
|
||||||
final List<AudioStream> list = new ArrayList<>();
|
|
||||||
list.add(stream);
|
|
||||||
collectedStreams.put(trackId, list);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Filter unknown audio tracks if there are multiple tracks
|
// Filter unknown audio tracks if there are multiple tracks
|
||||||
if (collectedStreams.size() > 1) {
|
if (collectedStreams.size() > 1) {
|
||||||
|
|
Loading…
Reference in New Issue