Skip to main content

Java Cheat Sheet

Array

// create
int[] a = {1, 2, 3};
int[] a2 = new int[10];
int[] a3 = new int[]{1, 2, 3};

// insert
a[0] = 1;

// access
int x = a[0];

// loop
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}

for (int n : a) {
System.out.println(n);
}

// sort
Arrays.sort(a);

// min
int min = Arrays.stream(a).min().getAsInt();

// max
int max = Arrays.stream(a).max().getAsInt();
// create 2d array
int[][] a = new int[3][3];
int[][] a2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

String

// create
String s = "foo";
String s2 = new String("foo");

// access
s.charAt(0); // index

// size
s.length();

// loop
char[] a = s.toCharArray();
for (char c : a) {
System.out.println(c);
}

for (int i = 0; i < s.length(); i++) {
System.out.println(s.charAt(i));
}

HashMap

// import
import java.util.HashMap;

// create
HashMap<String, String> map = new HashMap<>();

// insert
map.put("foo", "bar");

// access
map.get("foo");
map.getOrDefault("foo", "bar");
map.containsKey("foo");

// size
map.size();

// loop
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}

for (String key : map.keySet()) {
System.out.println(key);
}

for (String value : map.values()) {
System.out.println(value);
}

// remove
map.remove("foo");

HashSet

// import
import java.util.HashSet;

// create
HashSet<String> set = new HashSet<>();

// insert
set.add("foo");

// access
set.contains("foo");

// size
set.size();

//loop
for (String x : set) {
System.out.println(x);
}

// remove
set.remove("foo");

// hashset with array list as key
HashSet<List<Integer>> set = new HashSet<>();
set.add(Arrays.asList(1,2));
set.contains(Arrays.asList(1,2));

ArrayList

// import
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;

// create
List<Integer> arr = new ArrayList<>();
ArrayList<Integer> arr2 = new ArrayList<>();

// insert
arr.add(1);

// update
arr.set(0, 1); // index, element

// size
arr.size();

// loop
for (int i = 0; i < arr.size(); i++) {
System.out.println(arr.get(i));
}

for (Integer x : arr) {
System.out.println(x);
}

// sort
Collections.sort(arr);
Collections.sort(arr, Collections.reverseOrder());
Collections.sort(arr, (a, b) -> a - b);

// remove
arr.remove(0); // index or object
arr.clear();

// min
Collections.min(arr);

// max
Collections.max(arr);

Heap

// import
import java.util.PriorityQueue;

// create min heap
PriorityQueue<Integer> pq = new PriorityQueue<>();

// create max heap
PriorityQueue<Integer> pqMax = new PriorityQueue<>(Collections.reverseOrder());

// insert
pq.add(1);

// access
pq.peek();

// access and remove
pq.poll();

// size
pq.size();

// loop
for (Integer x : pq) {
System.out.println(x);
}

// remove
pq.remove(1); // object
// heap with pair

// create min heap
PriorityQueue<Pair<Integer,Integer>> pq = new PriorityQueue<>((a,b) -> a.getValue() - b.getValue());

// create max heap
PriorityQueue<Pair<Integer,Integer>> pq = new PriorityQueue<>((a,b) -> b.getValue() - a.getValue());

// insert
pq.add(new Pair(1, 2));

// access
Pair<Integer, Integer> pair = pq.peek();
pair.getKey();
pair.getValue();

// access and remove
Pair<Integer, Integer> pair2 = pq.poll();

// heap with map entry

// import
import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;

// create min heap
PriorityQueue<Map.Entry<Integer, Integer>> pq = new PriorityQueue<>((a, b) -> a.getValue() - b.getValue());

// create max heap
PriorityQueue<Map.Entry<Integer, Integer>> pqMax = new PriorityQueue<>((a, b) -> b.getValue() - a.getValue());

// insert
Map<Integer, Integer> map = new HashMap<>();

map.put(1, 1);

pq.addAll(map.entrySet());

for (Map.Entry<Integer, Integer> entry: map.entrySet()) {
pq.add(entry);
}

// access
Map.Entry<Integer, Integer> entry = pq.peek();
entry.getKey();
entry.getValue();

// access and remove
Map.Entry<Integer, Integer> entry2 = pq.poll();
// heap with int array

PriorityQueue<int[]> pq = new PriorityQueue<>((a, b) -> a[1] - b[1]);
pq.add(new int[]{1, 2});
int[] arr = pq.poll();

Queue

// import
import java.util.LinkedList;
import java.util.Queue;

// create
Queue<Integer> q = new LinkedList<>();

// insert
q.add(1);

// access
q.peek();

// access and remove
q.poll();

// size
q.size();

// is empty
q.isEmpty();

Stack

// import
import java.util.Stack;

// create
Stack<Integer> st = new Stack<>();

// insert
st.push(1); // item

// access
st.peek();

// access and remove
st.pop();

// size
st.size();

// is empty
st.isEmpty();

Linked List

import java.util.LinkedList;

// create
LinkedList<Integer> list = new LinkedList<>();

// insert
list.add(1); // element

// access
list.get(0); // index

// update
list.set(0, 1); // index, element

// size
list.size();

// loop
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}

for (int x : list) {
System.out.println(x);
}

// remove
list.remove(0); // index or object

// remove all
list.clear();