diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..bc0da9d 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -20,7 +20,9 @@ public static void main(String[] args) { printDeadlines(tasksData); System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + printDeadlinesUsingStreams(tasksData); + System.out.println(filterByString(tasksData, "11")); } private static int countDeadlines(ArrayList tasksData) { @@ -34,16 +36,32 @@ private static int countDeadlines(ArrayList tasksData) { } public static void printData(ArrayList tasksData) { - for (Task t : tasksData) { - System.out.println(t); - } + tasksData.stream().forEach(System.out::println); + } + + + public static int countDeadlinesWithStreams(ArrayList taskData) { + taskData.stream() + .filter(n -> n instanceof Deadline) + .count(); } public static void printDeadlines(ArrayList tasksData) { - for (Task t : tasksData) { - if (t instanceof Deadline) { - System.out.println(t); - } - } + tasksData.stream() + .filter((n) -> n instanceof Deadline) + .forEach(System.out::println); + } + + public static void printDeadlinesUsingStreams(ArrayList taskData) { + taskData.stream() + .filter(n -> n instanceof Deadline) + .sorted( (a,b) -> a.getDescription().toLowerCase().compareTo(b.getDescription().toLowerCase())) + .forEach(System.out::println); + } + + public static ArrayList filterByString(ArrayList taskData, String filterString) { + ArrayList filteredList = (ArrayList) taskData.stream().filter(n -> n.getDescription().contains(filterString)). + collect(Collectors.toList()); + return filteredList; } }