From e3338404e41117255088dd49e37bf357f54211fb Mon Sep 17 00:00:00 2001 From: Arthur Kovis <3013016@stud.hs-mannheim.de> Date: Tue, 19 Nov 2024 11:04:51 +0100 Subject: [PATCH] =?UTF-8?q?KI-Prompts/KI-Promots2.txt=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KI-Prompts/KI-Promots2.txt | 130 +++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 KI-Prompts/KI-Promots2.txt diff --git a/KI-Prompts/KI-Promots2.txt b/KI-Prompts/KI-Promots2.txt new file mode 100644 index 0000000..d62f844 --- /dev/null +++ b/KI-Prompts/KI-Promots2.txt @@ -0,0 +1,130 @@ +User: wie kann ich speziell nach einer Medienart filtern? am besten mit lamba ausdrücken + + +System: m in Java mit Lambda-Ausdrücken nach einer spezifischen Medienart zu filtern, kannst du den Stream und die filter()-Methode verwenden. Dabei kannst du die getClass()-Methode und getSimpleName() nutzen, um die Medienart zu bestimmen. Hier ein Beispiel, wie du speziell nach einer Medienart (z. B. Book, DVD, VideoGame) filtern kannst: + +Beispiel für das Filtern nach Medienart: +Angenommen, du hast eine Liste von Medien (mediaList), die unterschiedliche Typen von Medien enthalten (Bücher, DVDs, etc.), und du möchtest nur Medien eines bestimmten Typs herausfiltern. + +1. Verwendung von Lambda-Ausdrücken: + +Wenn du nach einer spezifischen Medienart filtern möchtest, kannst du die filter()-Methode des Streams zusammen mit getClass().getSimpleName() verwenden, um den Medientyp zu prüfen. + +Codebeispiel: + +import java.util.List; +import java.util.stream.Collectors; + +public class LibraryService { + + private List mediaList; + + public LibraryService(List mediaList) { + this.mediaList = mediaList; + } + + public List filterByMediaType(String mediaType) { + return mediaList.stream() + // Filter nach der Medienart (z. B. Book, DVD, etc.) + .filter(medium -> medium.getClass().getSimpleName().equalsIgnoreCase(mediaType)) + .collect(Collectors.toList()); + } + + public static void main(String[] args) { + // Beispiel-Initialisierung der Medien + List mediaList = List.of( + new Book("B001", "Harry Potter", "J.K. Rowling"), + new DVD("D001", "Inception"), + new VideoGame("VG001", "The Last of Us") + ); + + LibraryService libraryService = new LibraryService(mediaList); + + // Filtern nach Buch + List books = libraryService.filterByMediaType("Book"); + books.forEach(medium -> System.out.println(medium.getTitle())); // Gibt "Harry Potter" aus + + // Filtern nach DVD + List dvds = libraryService.filterByMediaType("DVD"); + dvds.forEach(medium -> System.out.println(medium.getTitle())); // Gibt "Inception" aus + } +} +Erklärung des Codes: +filter()-Methode: +medium.getClass().getSimpleName(): Gibt den einfachen Namen der Klasse des Objekts zurück, z. B. "Book", "DVD", "VideoGame". +equalsIgnoreCase(mediaType): Vergleicht den Klassennamen (Medienart) mit dem angegebenen mediaType (z. B. "Book"), wobei die Groß- und Kleinschreibung ignoriert wird. +Lambda-Ausdruck: Der Filter gibt nur die Medien zurück, deren Klassennamen mit der angegebenen mediaType übereinstimmen. +collect(Collectors.toList()): +Nach der Filterung wird eine neue Liste mit den gefilterten Medien erstellt. +Beispiel für verschiedene Medienarten: +Angenommen, du möchtest nach verschiedenen Medienarten filtern und hast die folgenden Klassen: + +abstract class Medium { + private String id; + private String title; + + public Medium(String id, String title) { + this.id = id; + this.title = title; + } + + public String getId() { + return id; + } + + public String getTitle() { + return title; + } +} + +class Book extends Medium { + private String author; + + public Book(String id, String title, String author) { + super(id, title); + this.author = author; + } + + public String getAuthor() { + return author; + } +} + +class DVD extends Medium { + public DVD(String id, String title) { + super(id, title); + } +} + +class VideoGame extends Medium { + public VideoGame(String id, String title) { + super(id, title); + } +} +Filtern nach Book: +// Filtern nach Büchern +List books = libraryService.filterByMediaType("Book"); +In diesem Beispiel werden nur Book-Objekte aus der mediaList zurückgegeben. +Filtern nach DVD: +// Filtern nach DVDs +List dvds = libraryService.filterByMediaType("DVD"); +In diesem Fall werden nur DVD-Objekte aus der mediaList zurückgegeben. +Weitere Anpassungen: +Dynamische Filterung: Du kannst die Medienarten als Parameter übergeben, z. B. durch eine Benutzereingabe. +Mehrere Filter kombinieren: Wenn du mehrere Filterkriterien kombinieren möchtest, kannst du mehrere filter()-Methoden nacheinander aufrufen. +Zusammenfassung: +getClass().getSimpleName(): Gibt den Namen der Klasse (Medienart) zurück, z. B. Book, DVD, VideoGame. +filter(): Wendet einen Filter auf den Stream an, um nur Objekte zu behalten, deren Medienart mit dem angegebenen mediaType übereinstimmt. +equalsIgnoreCase(): Stellt sicher, dass die Medienart unabhängig von der Groß- oder Kleinschreibung verglichen wird. +Durch die Verwendung von Lambda-Ausdrücken und Streams kannst du sehr einfach und flexibel nach einer spezifischen Medienart filtern. + +Lass mich wissen, falls du weitere Fragen hast oder noch andere Anpassungen benötigst! 😊 + + +2/2 + + + + + +