diff --git a/Advanced-Java/src/collections/ListDemo.java b/Advanced-Java/src/collections/ListDemo.java index 9dc30aa..238f8a9 100644 --- a/Advanced-Java/src/collections/ListDemo.java +++ b/Advanced-Java/src/collections/ListDemo.java @@ -89,5 +89,9 @@ public static void main(String[] args) { numbersLinkedList.forEach(System.out::println); System.out.println(numbersLinkedList.contains(3)); + + int[] nums = new int[5]; + Arrays.fill(nums, 1); + Arrays.sort(nums); } } diff --git a/Advanced-Java/src/collections/Person.java b/Advanced-Java/src/collections/Person.java new file mode 100644 index 0000000..9e669e4 --- /dev/null +++ b/Advanced-Java/src/collections/Person.java @@ -0,0 +1,48 @@ +package collections; + +// Entity / model / POJO +public class Person implements Comparable{ + String name; + int age; + + public Person(String name, int age) { + this.name = name; + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } + + @Override + public int compareTo(Person o) { + if (this.getName().compareTo(o.getName()) == 0) { + if (this.getAge() > (o.getAge())) return 1; + else return -1; + } else if (this.getName().compareTo(o.getName()) > 0){ + return 1; + } else { + return -1; + } + } +} diff --git a/Advanced-Java/src/collections/QueueDemo.java b/Advanced-Java/src/collections/QueueDemo.java index 3429a8a..74a257b 100644 --- a/Advanced-Java/src/collections/QueueDemo.java +++ b/Advanced-Java/src/collections/QueueDemo.java @@ -27,6 +27,26 @@ public static void main(String[] args) { customQueue2.addLast("Ramadan"); customQueue2.addLast("Mubarak"); customQueue2.forEach(System.out::println); + + Queue people = new PriorityQueue<>(Comparator.comparingInt(Person::getAge)); + Person ramadan = new Person("Ramadan", 34); + Person dawan = new Person("Dawan", 32); + Person sheriffo = new Person("Sheriffo", 33); + Person ramadan2 = new Person("Ramadan", 31); + people.add(ramadan); + people.add(dawan); + people.add(sheriffo); + people.add(ramadan2); + + System.out.println("PQ for Person"); +// people.forEach(System.out::println); + + while(true) + { + Person e = people.poll(); + System.out.println(e); + if(e == null) break; + } } } diff --git a/Advanced-Java/src/collections/SetDemo.java b/Advanced-Java/src/collections/SetDemo.java index 0c30837..17ced48 100644 --- a/Advanced-Java/src/collections/SetDemo.java +++ b/Advanced-Java/src/collections/SetDemo.java @@ -1,7 +1,9 @@ package collections; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Set; +import java.util.TreeSet; /** * 1. Unordered @@ -15,15 +17,54 @@ public static void main(String[] args) { numbersSet.add(2); numbersSet.add(3); numbersSet.add(5); + numbersSet.add(1); + numbersSet.add(0); - for (int i = 0; i < 10; i++) { - numbersSet.add(i); - } - - numbersSet.add(5); +// for (int i = 0; i < 10; i++) { +// numbersSet.add(i); +// } +// +// numbersSet.add(5); + System.out.println("HashSet"); numbersSet.forEach(System.out::println); - System.out.println(numbersSet.contains(4)); +// System.out.println(numbersSet.contains(4)); + + Set numbersLinkedSet = new LinkedHashSet<>(32, .5f); + numbersLinkedSet.add(3); + numbersLinkedSet.add(2); + numbersLinkedSet.add(3); + numbersLinkedSet.add(5); + numbersLinkedSet.add(1); + numbersLinkedSet.add(0); + + + System.out.println("LinkedHashSet"); + numbersLinkedSet.forEach(System.out::println); + + Set numbersTreeSet = new TreeSet<>(); + numbersTreeSet.add(3); + numbersTreeSet.add(2); + numbersTreeSet.add(3); + numbersTreeSet.add(5); + numbersTreeSet.add(1); + numbersTreeSet.add(0); + + System.out.println("TreeSet"); + numbersTreeSet.forEach(System.out::println); + + Set people = new TreeSet<>(); + Person ramadan = new Person("Ramadan", 34); + Person dawan = new Person("Dawan", 32); + Person sheriffo = new Person("Sheriffo", 33); + Person ramadan2 = new Person("Ramadan", 31); + people.add(ramadan); + people.add(dawan); + people.add(sheriffo); + people.add(ramadan2); + + System.out.println("TreeSet for Person"); + people.forEach(System.out::println); } } diff --git a/Advanced-Java/src/collections/mapDemo.java b/Advanced-Java/src/collections/mapDemo.java new file mode 100644 index 0000000..ddac4ae --- /dev/null +++ b/Advanced-Java/src/collections/mapDemo.java @@ -0,0 +1,47 @@ +package collections; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.TreeMap; + +public class mapDemo { + + public static void main(String[] args) { + Map personAge = new HashMap<>(); + personAge.put("Ramadan", 32); +// personAge.put("Ramadan", 34); + personAge.put("Dawan", 31); + personAge.put("Sheriffo", 35); + +// personAge.keySet().forEach(System.out::println); +// personAge.values().forEach(System.out::println); + + // iterative approach +// for (Map.Entry entry: personAge.entrySet()) { +// System.out.println(entry.getKey() + " : " + entry.getValue()); +// } + + // functional + System.out.println("*** HashMap ***"); + personAge.forEach((k, v) -> System.out.println(k + " : " + v)); + + Map personAgeLinkedMap = new LinkedHashMap<>(); + personAgeLinkedMap.put("Ramadan", 32); +// personAge.put("Ramadan", 34); + personAgeLinkedMap.put("Dawan", 31); + personAgeLinkedMap.put("Sheriffo", 35); + + System.out.println("*** LinkedHashMap ***"); + personAgeLinkedMap.forEach((k, v) -> System.out.println(k + " : " + v)); + + Map personAgeOrderedMap = new TreeMap<>(); + personAgeOrderedMap.put("Ramadan", 32); +// personAge.put("Ramadan", 34); + personAgeOrderedMap.put("Dawan", 31); + personAgeOrderedMap.put("Sheriffo", 35); + + System.out.println("*** TreeMap ***"); + personAgeOrderedMap.forEach((k, v) -> System.out.println(k + " : " + v)); + } +}