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);
+ }
+
+
+
}