Praktikum 3: multiple titles jetzt richtig
This commit is contained in:
parent
5b5325fc29
commit
16df5c0fdf
|
@ -7,17 +7,16 @@ import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class Vorlesungsverzeichnis implements Comparator<Vorlesung>{
|
public class Vorlesungsverzeichnis implements Comparator<Vorlesung>{
|
||||||
|
|
||||||
private Set<Vorlesung> vorlesungen = new HashSet<>();
|
private Set<Vorlesung> vorlesungen = new HashSet<>();
|
||||||
|
|
||||||
public Vorlesungsverzeichnis(String filename) throws IOException {
|
public Vorlesungsverzeichnis(String filename) throws IOException {
|
||||||
|
List<List<String>> datenbasis = load(filename);
|
||||||
|
for (List<String> entry : datenbasis) {
|
||||||
|
if (entry.size() != 4) throw new TextFileFormatException("unexpected number of Strings in line");
|
||||||
|
for (String s : entry) if (s.isEmpty()) throw new TextFileFormatException("empty attribute");
|
||||||
|
|
||||||
List<List<String>> datenbasis;
|
vorlesungen.add(new Vorlesung(entry));
|
||||||
datenbasis = load(filename);
|
|
||||||
for (List<String> a : datenbasis) {
|
|
||||||
if (a.size() != 4) throw new TextFileFormatException("unexpected number of Strings in line");
|
|
||||||
for (String s : a) if (s.isEmpty()) throw new TextFileFormatException("empty attribute");
|
|
||||||
|
|
||||||
vorlesungen.add(new Vorlesung(a));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,8 +119,13 @@ public class Vorlesungsverzeichnis implements Comparator<Vorlesung>{
|
||||||
return map;
|
return map;
|
||||||
*/
|
*/
|
||||||
Map<String, List<String>> map = vorlesungen.stream().collect(Collectors.groupingBy(Vorlesung::getTitle, Collectors.mapping(Vorlesung::getDozent, Collectors.toList())));
|
Map<String, List<String>> map = vorlesungen.stream().collect(Collectors.groupingBy(Vorlesung::getTitle, Collectors.mapping(Vorlesung::getDozent, Collectors.toList())));
|
||||||
map.forEach((s, strings) -> Collections.sort(strings));
|
|
||||||
|
|
||||||
|
Iterator<Map.Entry<String, List<String>>> iterator = map.entrySet().iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
Map.Entry<String, List<String>> entry = iterator.next();
|
||||||
|
if(entry.getValue().size() < 2) iterator.remove();
|
||||||
|
Collections.sort(entry.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue