diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..0635677 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -8,6 +8,8 @@ import java.util.ArrayList; import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; + public class Main { private TaskNameComparator taskNameComparator; @@ -20,7 +22,10 @@ public static void main(String[] args) { printDeadlines(tasksData); System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); - + printDeadlinesUsingStreams(tasksData); + for (Task t: filterByString(tasksData,"11")) { + System.out.println(t); + } } private static int countDeadlines(ArrayList tasksData) { @@ -46,4 +51,21 @@ public static void printDeadlines(ArrayList tasksData) { } } } + + public static void printDeadlinesUsingStreams(ArrayList tasksData) { + tasksData.stream() + .filter((s) -> s instanceof Deadline) + .sorted((a,b) -> a.getDescription().toLowerCase(). + compareTo(b.getDescription().toLowerCase())) + .forEach(System.out::println); + } + + public static ArrayList filterByString(ArrayList tasksData, String filterString) { + ArrayList filteredTaskList = (ArrayList) tasksData.stream() + .filter((s) -> s.getDescription().contains(filterString)) + .collect(toList()); + + return filteredTaskList; + } + }