diff --git a/.devcontainer.json b/.devcontainer.json new file mode 100644 index 0000000..bfbeb0d --- /dev/null +++ b/.devcontainer.json @@ -0,0 +1,3 @@ +{ + "image": "mcr.microsoft.com/devcontainers/java:21" +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..add4f4e --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "vscjava.vscode-java-pack" + ] +} \ No newline at end of file diff --git a/Exercise.java b/Exercise.java index a8fab57..13d4bb5 100644 --- a/Exercise.java +++ b/Exercise.java @@ -7,13 +7,13 @@ public static void main(String[] args) { FilteredStudents adultStudents = new FilteredStudents((student) -> student.age > 18); adultStudents.add(steffen); adultStudents.add(kid); - adultStudents.printStudents(); + adultStudents.forEach(student -> System.out.println(student.name.toUpperCase())); System.out.println("-----------------------"); FilteredStudents teenStudents = new FilteredStudents(student -> student.age < 18); teenStudents.add(steffen); teenStudents.add(kid); - teenStudents.printStudents(); + teenStudents.forEach(student -> System.out.println(student.name.toLowerCase())); } } diff --git a/FilteredStudents.java b/FilteredStudents.java index f83d166..a3c10fc 100644 --- a/FilteredStudents.java +++ b/FilteredStudents.java @@ -1,4 +1,5 @@ import java.util.ArrayList; +import java.util.function.Consumer; import java.util.function.Predicate; public class FilteredStudents { @@ -16,7 +17,9 @@ public void add(Student element) { } } - public void printStudents() { - this.students.forEach((student) -> System.out.println(student)); + public void forEach(Consumer consumer) { + for (Student student : students) { + consumer.accept(student); + } } }