From 890c0f17083f6a79a6b7730ebb155fb2585c6aa8 Mon Sep 17 00:00:00 2001 From: Thomas Smits Date: Wed, 3 Dec 2025 14:13:39 +0100 Subject: [PATCH] Update of exercises --- Assignment_009/files/bild.bmp.rle | Bin 247881 -> 0 bytes Assignment_009/img/disk_full.jpg | Bin 70146 -> 0 bytes Assignment_009/readme.md | 133 +++--------------- readme.md | 2 +- solutions/pom.xml | 10 ++ sources/pom.xml | 10 ++ .../pr2/algorithmen/random/DrawRandom.java | 2 +- .../random/SuperSecRandomGenerator.java | 1 - .../src/main/java/pr2/generics/set/Bag.java | 110 +++++++++++++++ .../src/main/java/pr2/generics/set/MySet.java | 14 ++ .../src/main/java/pr2/generics/set/Set.java | 102 ++++++++++++++ .../compressor/CompressingOutputStream.java | 14 -- .../compressor/DecompressingInputStream.java | 13 -- .../compressor/tool/DirectoryCompressor.java | 20 --- .../tool/DirectoryDecompressor.java | 20 --- .../io/compressor/tool/DirectoryToolBase.java | 11 -- .../io/compressor/tool/FileCompressor.java | 19 --- .../io/compressor/tool/FileDecompressor.java | 19 --- .../test/java/pr2/generics/set/TestMySet.java | 8 ++ 19 files changed, 273 insertions(+), 235 deletions(-) delete mode 100644 Assignment_009/files/bild.bmp.rle delete mode 100644 Assignment_009/img/disk_full.jpg create mode 100644 sources/src/main/java/pr2/generics/set/Bag.java create mode 100644 sources/src/main/java/pr2/generics/set/MySet.java create mode 100644 sources/src/main/java/pr2/generics/set/Set.java delete mode 100644 sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java delete mode 100644 sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java delete mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java delete mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java delete mode 100644 sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java delete mode 100644 sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java delete mode 100644 sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java create mode 100644 sources/src/test/java/pr2/generics/set/TestMySet.java diff --git a/Assignment_009/files/bild.bmp.rle b/Assignment_009/files/bild.bmp.rle deleted file mode 100644 index 6e6ee1630c35b6bb95c1dfd1e9360f4f9a88e564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247881 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

V=7OG!*CkLh`g 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 L`8d6P?tlN;6hejB diff --git a/Assignment_009/readme.md b/Assignment_009/readme.md index 351875f..0b7dc8d 100644 --- a/Assignment_009/readme.md +++ b/Assignment_009/readme.md @@ -1,131 +1,32 @@ -# Mist die Festplatte ist schon wieder voll +# Eine Menge Mengen, bloß nicht vermengen **🎓 Benotetes Assignment 🎓** -📆 **Fällig: 02.12.2025** 📆 +📆 **Fällig: 16.12.2025** 📆 -Nachdem Sie den Reptiloiden "Never gonna give you up" vorgesungen haben und ein Bild von Rick Astley entgegen gehalten, sind diese wie zu Stein erstarrt und Sie können aus der Höhle flüchten. Hinter sich hören Sie noch das Grunzen und Schreien der Echsenwesen und glauben auch die Stimme von Mark Zuckerberg zu vernehmen. Nie wieder Facebook, Instagram und WhatsApp – das war einfach zu viel. +Die Platte ist komprimiert, Battlefield 6 installiert und Sie zocken vor lauter Glück über Ihr tolles Kompressionsprogramm mehrere Nächte durch. Das Studium leidet, aber im Gegenzug steigen Sie immer weiter in den Rängen des Spiels auf. Wer braucht schon einen Bachelor of Science, wenn man sich durch 100 Ranks leveln kann. -Geschafft! Sie sind an der Erdoberfläche angekommen und schlagen sich nach Hause durch. Die Reise dauert durchaus eine Weile, auch wegen der ständig verspäteten Züge, und als Sie ankommen, brauchen Sie erst einmal etwas Entspannung. +Plötzlich passiert es, Sie werden vom Sekundenschlaf erwischt und schlafen mit dem Kopf auf der Tastatur ein. Es war wohl doch zu viele die letzten Tage. Ihre Nase produziert wilde Zeichen im Discord-Chat und die anderen Spieler beschimpfen Sie auf Russisch. Aber Sie bekommen nichts mehr davon mit, so süß sind Ihre Träume. -Was kann mehr entspannen als ... eine Runde Battlefield 6. +In Ihrem Traum werden Sie ins Wunderland verschleppt und der verrückte Hutmacher will, dass Sie ein Programm für ihn schreiben. Er wäre nicht der verrückte Hutmacher, wenn dieses Programm nicht sehr spezifische Anforderungen hätte. Oder ist es vielleicht gar nicht der Hutmacher, der Sie da quält? -![](img/disk_full.jpg) +## MySet -Doch leider ist die Festplatte voll und der 67 GB Download passt nicht mehr drauf. Sie müssen dringend Platz schaffen! Also suchen Sie nach Möglichkeiten, die Daten auf Ihrer Festplatte, die eigentlich eine SSD ist, zu komprimieren. +Gehen Sie in das Paket [pr2.generics.set](../sources/src/main/java/pr2/generics/set/). -Da kommt Ihnen die nächste PR2-Aufgabe gerade gelegen. +Sie sollen das Interface `Set` implementieren, das die Operationen auf einer **Menge** definiert. Das Interface `Set` ist aber noch nicht generisch, d.h. bevor Sie die Implementierung beginnen, müssen Sie das Interface zu einem `Set` umbauen, sodass man typsicher damit umgehen kann. -## CompressingOutputStream +Ausgehend vom angepassten Interface `Set` implementieren Sie die Methoden in der Klasse `MySet`. -Gehen Sie in das Paket [pr2.io.compressor](../sources/src/main/java/pr2/io/compressor/). +Für die interne Speicherung der Daten verwenden Sie bitte die vorgegebene Klasse `Bag`, um sich die Arbeit zu erleichtern und nicht mit Arrays arbeiten zu müssen. -Implementieren Sie eine Klasse namens `CompressingOutputStream`, die von `FilterOutputStream` abgeleitet ist. Diese Klasse soll eine Komprimierung der Daten durchführen, wobei ein sogenanntes _run length encoding_ verwendet werden soll. Immer wenn ein Byte zwei- oder mehrmals hintereinander vorkommt, soll statt der wiederholten Bytes, die Sequenz `-1`, das Byte und die Anzahl der Wiederholungen geschrieben werden. So wird z.B. aus der Bytefolge `{ 5, 5, 5, 5, 5, 5, 5, 5, 5 }` durch die Kompression die Folge `{ -1, 5, 9 }`. Wiederholt sich ein Byte nicht, wird es einfach direkt übernommen. Es sind maximal 126 Wiederholungen möglich. Kommt ein Byte häufiger als 126-mal hintereinander vor, werden zuerst die ersten 126 Byte komprimiert und dann die nächsten Bytes bearbeitet. (Die Bytewerte sind hier als Dezimalzahlen angegeben, `-1` würde dann in hexadezimaler Darstellung `0xff` entsprechen.) +Bitte beachten Sie die folgenden Regeln für die Implementierung: -Beachten Sie den Spezialfall, dass die Eingabedaten eine `-1` (`0xff`) enthalten, in diesem Fall müssen Sie die Escapesequenz `{ -1, -1 }` schreiben, um dies bei der Dekompression erkennen zu können. So wird z.B. aus der Eingabe `{ 3, -1, 5 }` komprimiert `{ 3, -1, -1, 5 }`. + * Achten Sie bei den Methoden von `Set` darauf, dass diese **möglichst flexibel** mit den Typen umgehen, d.h. verwenden Sie, wo immer möglich, Wildcards anstatt des Typparameters `T`. Denken Sie an die Verwendung von `extends` und `super` im Zusammenhang mit Wildcards `?`. + * Verwenden Sie **keine Klassen aus dem Collection API**, d.h. Sie dürfen nicht auf `java.util.Set`, `java.util.List` etc. zurückgreifen. Ihre darunterliegende Speicherung wird von `Bag` übernommen. + * Implementieren Sie **zuerst die beiden Methoden** `each` und `test`. + * Außerhalb der Methoden `each` und `test` darf es **keine Schleifen (`for`, `while`)** in Ihrer Klasse geben. Sie müssen alle Operationen, welche eine Iteration (Schleife) brauchen, auf diese beiden Methoden abbilden. Hierzu verwenden Sie bitte geschickt Lambdas, die Sie (wo sinnvoll) an die `each`- und `test`-Methode übergeben und darin dann die notwendigen Operationen durchführen. -Testen Sie Ihre Implementierung ausführlich mit Unit-Tests. Sie können folgende Bytefolgen als Startpunkt nehmen, sie sind aber auf keinen Fall ausreichend. +## UnitTests -| Input | Komprimiert | -|-----------------------------|-----------------------------| -| `0, 1, 2, 3` | `0, 1, 2, 3` | -| `-1, -1, -1` | `-1, -1, -1, -1, -1, -1` | -| `-1, 1, 2, 3` | `-1, -1, 1, 2, 3` | -| `0, 1, 1, 1, 1, 1, 1` | `0, -1, 1, 6` | -| `5, 5, 5, 5, 5, 5, 5, 5, 5` | `-1, 5, 9` | -| `0, 1, 1, 3, 3, 3, 3` | `0, -1, 1, 2, -1, 3, 4` | -| `1, 1, 3, 3, 3, 3` | `-1, 1, 2, -1, 3, 4` | -| `1, 2, 1, 3, 3, 3` | `1, 2, 1, -1, 3, 3` | -| `1, 1, -1, 1, 2, 3` | `-1, 1, 2, -1, -1, 1, 2, 3` | -| `1, 1, -1` | `-1, 1, 2, -1, -1` | -| `-1` | `-1, -1` | -| `-1, 1, 1` | `-1, -1, -1, 1, 2` | -| `1, 1, 1, 1, 1, 1, 1, 1, 1` | `-1, 1, 9` | -| `1, 1, 1, 1, -1` | `-1, 1, 4, -1, -1` | - - -## DecompressingInputStream - -Implementieren Sie eine Klasse namens `DecompressingInputStream`, die von `InputStream` abgeleitet ist. Diese Klasse soll eine Dekomprimierung der Daten durchführen, die vorher mit einem `CompressingOutputStream` komprimiert wurden. - -Testen Sie Ihre Implementierung ausführlich mit Unit-Tests. Sie können die in der obigen Tabelle dargestellten Bytefolgen als Startpunkt nehmen, sollten aber noch mehr Fälle testen. - -## FileCompressor - -Implementieren Sie eine Klasse namens `FileCompressor`. Diese nimmt von der Kommandozeile zwei Argumente an, die zwei Dateien bezeichnen. Die zuerst angegebene Datei wird mithilfe eines `CompressingOutputStream` komprimiert und das Ergebnis wird in die als zweite Option angegebene Datei geschrieben. Denken Sie an eine sinnvolle Fehlerbehandlung. - -Alternativ kann man die Klasse auch ohne Optionen aufrufen. In diesem Fall werden die Daten von der Standard-Eingabe gelesen und das komprimierte Ergebnis auf die Standard-Ausgabe geschrieben. - -Diese letzte Anforderung bedeutet, dass man z.B. das folgende machen kann: - -```console -$ echo "Duuuuuuuuuuuuduuuuuuuuuu" | \ - java -cp . pr2.io.compressor.tool.FileCompressor > \ - result.rle -``` - - -## FileDecompressor - -Implementieren Sie eine Klasse namens `FileDecompressor`. Diese nimmt von der Kommandozeile zwei Argumente an, die zwei Dateien bezeichnen. Die zuerst angegebene Datei wird mithilfe eines `DecompressingInputStreams` dekomprimiert und das Ergebnis wird in die als zweite Option angegebene Datei geschrieben. Denken Sie an eine sinnvolle Fehlerbehandlung. - -Alternativ kann man die Klasse auch ohne Optionen aufrufen. In diesem Fall werden die Daten von der Standard-Eingabe gelesen und das dekomprimierte Ergebnis auf die Standard-Ausgabe geschrieben. - -Diese letzte Anforderung bedeutet, dass man z.B. das folgende machen kann: - -```console -$ echo "Duuuuuuuuuuuuduuuuuuuuuu" | \ - java -cp . pr2.io.compressor.tool.FileCompressor | \ - java -cp . pr2.io.compressor.tool.FileDecompressor -Duuuuuuuuuuuuduuuuuuuuuu -``` - -## DirectoryCompressor - -Schreiben Sie eine Klasse namens `DirectoryCompressor`. Diese nimmt von der Kommandozeile den Namen eines Verzeichnisses entgegen und komprimiert alle darin gefundenen Dateien mit dem oben beschriebenen `FileCompressor`. Die komprimierten Dateien werden mit der Dateierweiterung `.rle` versehen, z.B. wird aus der Datei `MyFile.txt` die Datei `MyFile.txt.rle`. Die Originaldateien werden nicht verändert. - -Beachten Sie die folgenden möglichen Fehlerfälle: - - * Der Benutzer vergisst, einen Pfad anzugeben. - * Das angegebene Verzeichnis existiert nicht. - * Der angegebene Pfad ist gar kein Verzeichnis. - * Das Verzeichnis existiert, darf aber nicht gelesen werden. - * Das Verzeichnis existiert, darf aber nicht geschrieben werden. - -Darüber hinaus können noch andere Fehler auftreten, die Sie bitte entsprechend abfangen und behandeln sollen. - -Das Programm soll den Benutzer über seine Fortschritte informieren. Hierzu soll die Ausgabe ungefähr wie folgt aussehen: - -```console -Komprimiere Dateien in /Users/thomas/Temp/compressme - -f1.txt (342 Bytes) -> f1.txt.rle (23 Bytes) [6%] -f2.txt (1368 Bytes) -> f2.txt.rle (83 Bytes) [6%] -f3.txt (13680 Bytes) -> f3.txt.rle (803 Bytes) [5%] -``` - -## DirectoryDecompressor - -Implementieren Sie eine Java-Klasse namens `DirectoryDecompressor`, die die Umkehroperation zum `DirectoryCompressor` zur Verfügung stellt. Man gibt ihr über die Kommandozeile einen Verzeichnisnamen und sie dekomprimiert alle darin gefundenen Dateien, die die Endung `.rle` haben. - -Die komprimierten Dateien werden nach einer erfolgreichen Dekompression gelöscht. - -Beachten Sie, dass auch hier unterschiedliche Fehler auftreten könne, die Sie bitte entsprechend abfangen und behandeln sollten. - -Das Programm soll den Benutzer über seine Fortschritte informieren. Hierzu soll die Ausgabe ungefähr wie folgt aussehen: - -```console -Dekomprimiere Dateien in /Users/thomas/Temp/compressme2 - -f1.txt.rle (23 Bytes) -> f1.txt (342 Bytes) -f2.txt.rle (83 Bytes) -> f2.txt (1368 Bytes) -f3.txt.rle (803 Bytes) -> f3.txt (13680 Bytes) -``` - -## Geheime Datei - -Wenn Sie alles fertig implementiert haben, wenden Sie Ihre Software auf die Datei [bild.bmp.rle](files/bild.bmp.rle) an und dekomprimieren Sie sie. - - * Was ist zu sehen? - * Um welchen Faktor wurde die Datei komprimiert? - * Warum ist der Kompressionsfaktor hier so hoch? \ No newline at end of file +Schreiben Sie JUnit-Tests in der Klasse [pr2.generics.set.TestMySet](../../solutions/src/test/java/pr2/generic/set/TestMySet), welche Ihre Implementierung ausgiebig testen. Hierbei sollten alle Methoden getestet werden, die das Interface vorgibt. \ No newline at end of file diff --git a/readme.md b/readme.md index f27d593..e84209a 100644 --- a/readme.md +++ b/readme.md @@ -173,7 +173,7 @@ Wichtige Einstellungen für Eclipse sind [hier](help/eclipse.md) beschrieben. | 6. | 22.10.2025 | [Racewars](Assignment_006/readme.md) | **04.11.2025** | | 7. | 05.11.2025 | [Ein Traum in Zucker oder kann ich dem Zufallsgenerator trauen?](Assignment_007/readme.md) | **18.11.2025** | | 8. | 05.11.2025 | [Live-Testat](Assignment_008/readme.md) | **19.11.2025** | -| 9. | 19.11.2025 | [Mist die Festplatte ist schon wieder voll](Assignment_009/readme.md) | **02.12.2025** | +| 9. | 03.12.2025 | [Eine Menge Mengen, bloß nicht vermengen](Assignment_009/readme.md) | **16.12.2025** | ## 😀 Freiwillige Übungen Die freiwilligen Übungen zur Vertiefung der Vorlesungsinhalte finden Sie in einem getrennten Repository: [Freiwillige Übungen](/pr2-lecture/uebungen/src/branch/master/readme.md). diff --git a/solutions/pom.xml b/solutions/pom.xml index 947ce09..7de4bfa 100644 --- a/solutions/pom.xml +++ b/solutions/pom.xml @@ -119,6 +119,16 @@ compile --> + + com.googlecode.json-simple + json-simple + 1.1 + + + org.jline + jline + 3.30.0 + com.github.thomsmits game-framework diff --git a/sources/pom.xml b/sources/pom.xml index 947ce09..7de4bfa 100644 --- a/sources/pom.xml +++ b/sources/pom.xml @@ -119,6 +119,16 @@ compile --> + + com.googlecode.json-simple + json-simple + 1.1 + + + org.jline + jline + 3.30.0 + com.github.thomsmits game-framework diff --git a/sources/src/main/java/pr2/algorithmen/random/DrawRandom.java b/sources/src/main/java/pr2/algorithmen/random/DrawRandom.java index aabf082..526b5b1 100644 --- a/sources/src/main/java/pr2/algorithmen/random/DrawRandom.java +++ b/sources/src/main/java/pr2/algorithmen/random/DrawRandom.java @@ -14,7 +14,7 @@ public class DrawRandom { private static final int WIDTH = 100; private static final int HEIGHT = 100; - private static final int ROUNDS = 1000000; + private static final int ROUNDS = 100000000; public static void main(String[] args) throws IOException { diff --git a/sources/src/main/java/pr2/algorithmen/random/SuperSecRandomGenerator.java b/sources/src/main/java/pr2/algorithmen/random/SuperSecRandomGenerator.java index 3eefdf1..40b4e09 100644 --- a/sources/src/main/java/pr2/algorithmen/random/SuperSecRandomGenerator.java +++ b/sources/src/main/java/pr2/algorithmen/random/SuperSecRandomGenerator.java @@ -265,7 +265,6 @@ public class SuperSecRandomGenerator implements RandomGenerator { ;=::78:=@BDGILHFB<7767788778767767843689 """.replace("\n", "").replace(" ", ""); - private final int[] seed; private final Random rnd; diff --git a/sources/src/main/java/pr2/generics/set/Bag.java b/sources/src/main/java/pr2/generics/set/Bag.java new file mode 100644 index 0000000..2a37c4b --- /dev/null +++ b/sources/src/main/java/pr2/generics/set/Bag.java @@ -0,0 +1,110 @@ +package pr2.generics.set; + +import java.util.Arrays; +import java.util.Objects; + +/** + * Einfache Klasse zum Sammeln von Objekten. + */ +public class Bag { + + private static final int INITIAL_CAPACITY = 10; + private int pos = 0; + + private Object[] data; + + /** + * Legt eine neue Instanz an. + */ + public Bag() { + data = new Object[INITIAL_CAPACITY]; + } + + /** + * Fügt ein neues Element hinzu. + * @param o das Element. + */ + public void add(Object o) { + if (pos >= data.length) { + Object[] newData = new Object[pos + INITIAL_CAPACITY]; + System.arraycopy(data, 0, newData, 0, pos); + data = newData; + } + data[pos++] = o; + } + + /** + * Liefert das Element am gegebenen Index. + * + * @param idx der Index. + * @return das Element. + */ + public Object get(int idx) { + if (idx >= data.length) { + throw new IndexOutOfBoundsException("Index out of bounds: " + idx); + } + return data[idx]; + } + + /** + * Konvertiert die gespeicherten Daten in ein Array. + * + * @return ein Array. + */ + public Object[] toArray() { + return Arrays.copyOf(data, pos); + } + + /** + * Entfernt das Objekt am Index. + * + * @param idx Index. + * @return das entfernte Objekt. + */ + public Object remove(int idx) { + if (idx >= data.length) { + throw new IndexOutOfBoundsException("Index out of bounds: " + idx); + } + Object o = data[idx]; + System.arraycopy(data, idx + 1, data, idx, data.length - idx - 1); + pos--; + return o; + } + + /** + * Gibt die Anzahl der gespeicherten Objekte zurück. + * + * @return Anzahl der Objekte. + */ + public int size() { + return pos; + } + + @Override + public boolean equals(Object o) { + if (o == null || getClass() != o.getClass()) { + return false; + } + Bag bag = (Bag) o; + return pos == bag.pos && Objects.deepEquals(data, bag.data); + } + + @Override + public int hashCode() { + return Objects.hash(pos, Arrays.hashCode(data)); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("["); + for (int i = 0; i < pos; i++) { + sb.append(data[i]); + if (i < pos - 1) { + sb.append(", "); + } + } + sb.append("]"); + return sb.toString(); + } +} diff --git a/sources/src/main/java/pr2/generics/set/MySet.java b/sources/src/main/java/pr2/generics/set/MySet.java new file mode 100644 index 0000000..8aea85b --- /dev/null +++ b/sources/src/main/java/pr2/generics/set/MySet.java @@ -0,0 +1,14 @@ +package pr2.generics.set; + + +/** + * Implementierung des Sets. + * + * @param Typ der gespeicherten Daten + */ +public class MySet { + + private Bag bag = new Bag(); + + // TODO: Methoden implementieren +} diff --git a/sources/src/main/java/pr2/generics/set/Set.java b/sources/src/main/java/pr2/generics/set/Set.java new file mode 100644 index 0000000..dd3dc03 --- /dev/null +++ b/sources/src/main/java/pr2/generics/set/Set.java @@ -0,0 +1,102 @@ +package pr2.generics.set; + +import java.util.function.Consumer; +import java.util.function.Predicate; + +/** + * Verwaltung von Objektmengen. + * + * @param Typ der gespeicherten Daten + */ +public interface Set { + + /** + * Fügt der Menge ein neues Element hinzu. Wenn das Element + * bereits vorhanden ist, wird es nicht aufgenommen. + * + * @param obj das Objekt, das hinzugefügt werden soll. + */ + void add(Object obj); + + /** + * Entfernt das Objekt aus der Menge. + * + * @param obj das Objekt, das entfernt werden soll + */ + void remove(Object obj); + + /** + * Prüft, ob das Objekt in der Menge enthalten ist. + * + * @param obj das Objekt. + * @return {@literal true}, wenn das Objekt enthalten + * ist, andernfalls {@literal false}. + */ + boolean contains(Object obj); + + /** + * Gibt die Anzahl der gespeicherten Objekte zurück. + * + * @return die Anzahl. + */ + int size(); + + /** + * Gibt ein neues Set zurück, dass die Vereinigungsmenge + * aus diesem und dem anderen Set darstellt. + * + * @param other das andere set. + * @return die Vereinigungsmenge. + */ + Set union(Set other); + + /** + * Bildet die Differenzmenge. D.h. aus diesem Set werden alle + * Objekte entfernt, die in dem anderen Set enthalten sind. + * + * @param other das Set, das "abgezogen" werden soll + * @return die Differenzmenge als neues Set. + */ + Set difference(Set other); + + /** + * Bildet die Schnittmenge. D.h. es werden nur die Elemente + * behalten, die in beiden Sets vorhanden sind. + * + * @param other das andere Set. + * @return die Schnittmenge. + */ + Set intersection(Set other); + + /** + * Filtert aus der Menge alle Elemente, die NICHT die + * übergebene Bedingung erfüllen. + * + * @param p Bedingung. + * @return das gefilterte Set. + */ + Set filter(Predicate p); + + /** + * Itertiert über die Menge und ruft für jedes + * Element den Consumer auf. + * + * @param c der Consumer. + */ + void each(Consumer c); + + /** + * Kopiert dieses Set in das andere Set. + * + * @param other the target of the copy operation. + */ + void copyInto(Set other); + + /** + * Füllt dieses Set mit den Daten eines anderen + * Sets. + * + * @param other das andere Set. + */ + void fillFrom(Set other); +} diff --git a/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java b/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java deleted file mode 100644 index e685458..0000000 --- a/sources/src/main/java/pr2/io/compressor/CompressingOutputStream.java +++ /dev/null @@ -1,14 +0,0 @@ -package pr2.io.compressor; - -import java.io.FilterOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -/** - * Stream implementation that performs an automatic run-length - * encoding of the written data. - */ -public class CompressingOutputStream { - - // TODO: Klasse implementieren -} diff --git a/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java b/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java deleted file mode 100644 index 637e0d9..0000000 --- a/sources/src/main/java/pr2/io/compressor/DecompressingInputStream.java +++ /dev/null @@ -1,13 +0,0 @@ -package pr2.io.compressor; - -import java.io.IOException; -import java.io.InputStream; - -/** - * Stream that automatically decompresses data that was compressed - * with the {@link CompressingOutputStream}. - */ -public class DecompressingInputStream { - - // TODO: Klasse implementieren -} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java deleted file mode 100644 index d5d43de..0000000 --- a/sources/src/main/java/pr2/io/compressor/tool/DirectoryCompressor.java +++ /dev/null @@ -1,20 +0,0 @@ -package pr2.io.compressor.tool; - -import java.io.File; -import java.io.FileFilter; - -/** - * Compresses the content of a directory. - */ -public class DirectoryCompressor extends DirectoryToolBase { - - public static void main(String[] args) throws Exception { - - if (args.length != 1) { - System.err.println("Bitte geben Sie ein Verzeichnis an."); - System.exit(1); - } - - // TODO: Methode implementieren - } -} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java deleted file mode 100644 index 0d1fccb..0000000 --- a/sources/src/main/java/pr2/io/compressor/tool/DirectoryDecompressor.java +++ /dev/null @@ -1,20 +0,0 @@ -package pr2.io.compressor.tool; - -import java.io.File; -import java.io.FileFilter; - -/** - * Decompresses the content of a directory. - */ -public class DirectoryDecompressor extends DirectoryToolBase { - - public static void main(String[] args) throws Exception { - - if (args.length != 1) { - System.err.println("Bitte geben Sie ein Verzeichnis an."); - System.exit(1); - } - - // TODO: Methode implementieren - } -} diff --git a/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java b/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java deleted file mode 100644 index 84b31c0..0000000 --- a/sources/src/main/java/pr2/io/compressor/tool/DirectoryToolBase.java +++ /dev/null @@ -1,11 +0,0 @@ -package pr2.io.compressor.tool; - -import java.io.File; - -/** - * Base class for all directory based tools. - */ -public class DirectoryToolBase { - - // TODO: Gemeinsame Methoden für DirectoryCompressor und DirectoryDecompressor -} diff --git a/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java b/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java deleted file mode 100644 index f1671f9..0000000 --- a/sources/src/main/java/pr2/io/compressor/tool/FileCompressor.java +++ /dev/null @@ -1,19 +0,0 @@ -package pr2.io.compressor.tool; - -import pr2.io.compressor.CompressingOutputStream; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * Compresses a single file or stdin. - */ -public class FileCompressor { - - public static void main(String... args) throws Exception { - - // TODO: Methode implementieren - } -} diff --git a/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java b/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java deleted file mode 100644 index dad8374..0000000 --- a/sources/src/main/java/pr2/io/compressor/tool/FileDecompressor.java +++ /dev/null @@ -1,19 +0,0 @@ -package pr2.io.compressor.tool; - -import pr2.io.compressor.DecompressingInputStream; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * Decompresses a single file or stdin. - */ -public class FileDecompressor { - - public static void main(String... args) throws Exception { - - // TODO: Methode implementieren - } -} diff --git a/sources/src/test/java/pr2/generics/set/TestMySet.java b/sources/src/test/java/pr2/generics/set/TestMySet.java new file mode 100644 index 0000000..eb47025 --- /dev/null +++ b/sources/src/test/java/pr2/generics/set/TestMySet.java @@ -0,0 +1,8 @@ +package pr2.generics.set; + +import org.junit.jupiter.api.Test; + + +public class TestMySet { + +}