Stack / Queue / Deque / List / Set / Map / PriorityQueue

Stack /

  • Stack<Integer> stack = new Stack<>();

Queue /

  • Queue<Integer> queue = new LinkedList<>();

Deque /

  • Deque<Integer> deque = new LinkedList<>();

List /

  • List<Integer> list = new ArrayList<>();

Set /

  • Set<Integer> set = new HashSet<>();

Map /

  • Map<Integer, String> map = new HashMap<>();

PriorityQueue(Heap-Min, Max)

  • PriorityQueue<Integer> pq = new PriorityQueue<>();
import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        // Stack / Queue / Deque / List / Set / Map / PriorityQueue 
        // List
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        System.out.println(list);
        list.remove(2);
        System.out.println(list);
        list.add(2, 5);
        System.out.println(list);
        System.out.println(list.get(2));
        System.out.println(list.indexOf(4));
        System.out.println(list.size());
        System.out.println(list.contains(3));
        Collections.sort(list);
        System.out.println(list);
        Collections.reverse(list);
        System.out.println(list);
        list.clear();
        System.out.println(list);
        
        // Set
        Set<Integer> set = new HashSet<>();
        set.add(1);
        set.add(2);
        set.add(3);
        set.add(4);
        System.out.println(set);
        set.remove(2);
        System.out.println(set);
        System.out.println(set.contains(3)); 
        System.out.println(set.size());
        set.clear();
        System.out.println(set);
        
        // Map
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "One");
        map.put(2, "Two");
        map.put(3, "Three");
        map.put(4, "Four");
        System.out.println(map);
        map.remove(2);
        System.out.println(map);
        System.out.println(map.get(3));
        System.out.println(map.containsKey(4));
        System.out.println(map.containsValue("Two"));
        System.out.println(map.size());
        map.clear();
        System.out.println(map);
        
        // Stack
        Stack<Integer> stack = new Stack<>();
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        System.out.println(stack);
        stack.pop();
        System.out.println(stack);
        System.out.println(stack.peek());
        System.out.println(stack.size());
        System.out.println(stack.isEmpty());
        stack.clear();
        System.out.println(stack);
        
        // Queue
        Queue<Integer> queue = new LinkedList<>();
        queue.add(1);
        queue.add(2);
        queue.add(3);
        queue.add(4);
        System.out.println(queue);
        queue.remove();
        System.out.println(queue);
        System.out.println(queue.peek());
        System.out.println(queue.size());
        System.out.println(queue.isEmpty());
        queue.clear();
        System.out.println(queue);
            
        // Deque
        Deque<Integer> deque = new LinkedList<>();
        deque.addFirst(1);
        deque.addFirst(2);
        deque.addLast(3);
        deque.addLast(4);
        System.out.println(deque);
        deque.removeFirst();
        System.out.println(deque);
        deque.removeLast();
        System.out.println(deque);
        System.out.println(deque.peekFirst());
        System.out.println(deque.peekLast());
        System.out.println(deque.size());
        System.out.println(deque.isEmpty());
        deque.clear();
        System.out.println(deque);
        
        // PriorityQueue
        PriorityQueue<Integer> pq = new PriorityQueue<>();
        pq.add(4);
        pq.add(2);
        pq.add(3);
        pq.add(1);
        System.out.println(pq);
        pq.remove();
        System.out.println(pq);
        System.out.println(pq.peek());
        System.out.println(pq.size());
        System.out.println(pq.isEmpty());
        pq.clear();
        System.out.println(pq);
        
        // Iterator
        List<Integer> list2 = new ArrayList<>();
        
        list2.add(1);
        list2.add(2);
        list2.add(3);
        list2.add(4);
        
        Iterator<Integer> it = list2.iterator();
        
        while(it.hasNext())
        {
            System.out.println(it.next());
        }
        
        
    }
}

Map

HashMap<String, Integer> h = new HashMap<>();
// k : 키
// v : 값

h.put(k,v);
h.get(k) 
h.remove(k) // 반환 후 삭제
h.size();
h.containsKey(k);
h.containsValue(v);
h.getOrDefault(k,default_val); 

// 순환
// 첫 번째 방법
for(Map.Entry<String, Integer> element : h.entrySet()){
      element.getKey();
      element.getValue();
}

// 두 번째 방법
for(String key: h.keySet()){…..}

for(Integer val: h.values()){……}

h.clear();

Heap : PriorityQueue를 통한 힙 구현

import java.util.PriorityQueue; 

//int형 priorityQueue 선언 (우선순위가 낮은 숫자 순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();

//int형 priorityQueue 선언 (우선순위가 높은 숫자 순)
PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(Collections.reverseOrder());

//String형 priorityQueue 선언 (우선순위가 낮은 숫자 순)
PriorityQueue<String> priorityQueue = new PriorityQueue<>(); 

//String형 priorityQueue 선언 (우선순위가 높은 숫자 순)
PriorityQueue<String> priorityQueue = new PriorityQueue<>(Collections.reverseOrder());


priorityQueue.add(1);  
priorityQueue.add(2);    
priorityQueue.offer(3);   

priorityQueue.poll(); 
priorityQueue.remove(); 
priorityQueue.clear();   

PriorityQueue<Integer> priorityQueue = new PriorityQueue<>();/
priorityQueue.offer(2);  
priorityQueue.offer(1);  
priorityQueue.offer(3); 
priorityQueue.peek();  

// Java program to iterate elements
// to a Queue

import java.util.*;
  
public class GFG {
  
    public static void main(String args[])
    {
        Queue<String> pq = new PriorityQueue<>();
  
        pq.add("Geeks");
        pq.add("For");
        pq.add("Geeks");
  
        Iterator iterator = pq.iterator();
  
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
    }
}

Stack/Queue

## Stack
Stack<Integer> s = new Stack<>();

s.push();
s.peek();
s.pop();
s.empty(); //returns bool
s.size();
s.celar();
s.contains(1) 

## Queue
// 선언
Queue<Integer> queue = new LinkedList<>(); 
Queue<String> queue = new LinkedList<>(); 

Queue<Integer> stack = new LinkedList<>(); 
queue.add(1);  
queue.add(2); 
queue.offer(3);  

Queue<Integer> queue = new LinkedList<>(); 
queue.offer(1);    
queue.offer(2);    
queue.offer(3);   
queue.poll();    
queue.remove();    
queue.clear();      

Queue<Integer> queue = new LinkedList<>(); 
queue.offer(1);   
queue.offer(2);  
queue.offer(3);    
queue.peek();   

Last updated