Skip to content

Commit

Permalink
Adding more collection examples
Browse files Browse the repository at this point in the history
  • Loading branch information
dawand committed Apr 14, 2021
1 parent 7d06a38 commit e841f44
Show file tree
Hide file tree
Showing 5 changed files with 166 additions and 6 deletions.
4 changes: 4 additions & 0 deletions Advanced-Java/src/collections/ListDemo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
48 changes: 48 additions & 0 deletions Advanced-Java/src/collections/Person.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package collections;

// Entity / model / POJO
public class Person implements Comparable<Person>{
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;
}
}
}
20 changes: 20 additions & 0 deletions Advanced-Java/src/collections/QueueDemo.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,26 @@ public static void main(String[] args) {
customQueue2.addLast("Ramadan");
customQueue2.addLast("Mubarak");
customQueue2.forEach(System.out::println);

Queue<Person> 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;
}
}
}

Expand Down
53 changes: 47 additions & 6 deletions Advanced-Java/src/collections/SetDemo.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package collections;

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

/**
* 1. Unordered
Expand All @@ -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<Integer> 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<Integer> 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<Person> 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);
}
}
47 changes: 47 additions & 0 deletions Advanced-Java/src/collections/mapDemo.java
Original file line number Diff line number Diff line change
@@ -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<String, Integer> 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<String, Integer> 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<String, Integer> 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<String, Integer> 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));
}
}

0 comments on commit e841f44

Please sign in to comment.