User Tools

Site Tools


java_primer

This is an old revision of the document!


Java Primer

Maps

Hash Maps

HashMap<Integer, String> hmap = new HashMap();
  • O(l) lookup and insertion.
  • Can have one null key and multiple null values

TreeMaps

  • are 0(logn) lookup and insertion.
  • But, keys are ordered!
  • No null keys

LinkedHashMap

Same as hashMap but preserves insertion order. O(1) insertion and lookup.

  • Can have one null key and multiple null values
  • O(l) lookup and insertion.

map.getOrDefault(key, default_value);

Map Iteration

for ( Map.Entry<Integer, Integer> entry : dups.entrySet() )
{
    Integer key = entry.getKey();
    Integer value = entry.getValue();
}

Or, loop through keys:

for (String key : map.keySet()) {
    // ...
}

Or, loop through values

for (Object value : map.values()) {
    // ...
}

Remove Map element based on key value:

     map.keySet().removeIf(e->(e>2));
     map.entrySet().removeIf(entry -> entry.getValue().equals("test"));

ArrayList Iteration

    Iterator<Integer> iter = dups.iterator();
    while (iter.hasNext()) {
       System.out.println(iter.next());
    }

HashSet Iteration

     Iterator<String> it = hset.iterator();
     while(it.hasNext()){
        System.out.println(it.next());
     }

or

     for (String temp : hset) {
        System.out.println(temp);
     }

Stacks

import java.util.*

pop(), peek(), push(), empty(), search()

Queue

import java.util.LinkedList; 
import java.util.Queue;
Queue<Integer> q = new LinkedList<>();

PriorityQueue

DFS

Traversing

TreeNode cur = root;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;

while(cur != null ||

NOTES

  • Vector is the same as ArrayList, but Vector is synchronized. Removing from Vector or ArrayList in O(n).
  • LinkedList has O(1) remove, LinkedList is a double linked list. ArrayList is single.
  • LinkedList is better with add(), remove.
  • ArrayList better with get(), set().
java_primer.1597768064.txt.gz · Last modified: 2020/08/18 16:27 by jrseti