diff --git a/W7.iml b/W7.iml new file mode 100644 index 0000000..f76df2b --- /dev/null +++ b/W7.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/W7.iml b/src/W7.iml new file mode 100644 index 0000000..5b22c51 --- /dev/null +++ b/src/W7.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/se/edu/streamdemo/Main.java b/src/main/java/se/edu/streamdemo/Main.java index 5d55a74..5bdb79e 100644 --- a/src/main/java/se/edu/streamdemo/Main.java +++ b/src/main/java/se/edu/streamdemo/Main.java @@ -14,11 +14,12 @@ public static void main(String[] args) { System.out.println("Printing all data ..."); printAllData(tasksData); - + printAllDataUsingStreams(tasksData); System.out.println("Printing deadlines ..."); printDeadlines(tasksData); + printDeadlinesUsingStreams(tasksData); - System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + System.out.println("Total number of deadlines: " + countDeadlinesUsingStream(tasksData)); } @@ -32,12 +33,25 @@ private static int countDeadlines(ArrayList tasksData) { return count; } + private static int countDeadlinesUsingStream(ArrayList tasksData) { + int count = (int) tasksData.stream() + .filter((t) -> t instanceof Deadline) + .count(); + return count; + } public static void printAllData(ArrayList tasksData) { + for (Task t : tasksData) { System.out.println(t); } } + public static void printAllDataUsingStreams(ArrayList tasks) { + System.out.println(); + + tasks.stream() + .forEach(System.out::println); + } public static void printDeadlines(ArrayList tasksData) { for (Task t : tasksData) { if (t instanceof Deadline) { @@ -46,4 +60,13 @@ public static void printDeadlines(ArrayList tasksData) { } } + public static void printDeadlinesUsingStreams(ArrayList tasksData) { + tasksData.stream() + .fliter((t) -> t instanceof deadline) + .sorted((t1, t2) -> t1.getDescription.compareToIgnoreCase(t2.getDescription)) + .forEach(System.out::println); + } + + + }