[자료구조] JAVA로 구현해보는 자료구조

[자료구조] JAVA로 구현해보는 자료구조

728x90

Array

//초기 크기 설정 후, for문으로 값 넣기 int[] array = new int[5]; for (int i = 0; i < array.length; i++){ array[i] = i+1; } //그냥 처음부터 값 넣기 int[] second_array = new int[]{1,2,3,4,5};

ArrayList

//타입 설정을 하지 않으면 Object로 선언 ArrayList arrayList = new ArrayList(); //int타입만 사용 가능 ArrayList int_arrayList = new ArrayList<>(); //초기 크기 설정 ArrayList capacity_arraylist = new ArrayList<>(10); //생성 시 값 추가 ArrayList integerArrayList = new ArrayList<>(Arrays.asList(1,2,3)); //값 추가 int_arrayList.add(100); //특정 인덱스에 값 추가 int_arrayList.add(1, 100); //값 삭제 (index 기반으로 삭제됨) int_arrayList.remove(1); //값 모두 삭제 int_arrayList.clear(); //1번 index의 값 출력 int_arrayList.get(1); //for문을 이용한 전체 출력 for (int i : int_arrayList){ System.out.println(i); } //iterator을 이용한 전체 출력 Iterator iterator = int_arrayList.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } //값 검색 int_arrayList.contains(1); int_arrayList.indexOf(1);

728x90

Stack

Stack stack = new Stack<>(); // stack 사용할래요! stack.push(1); // stack에 값 1 추가 stack.push(2); // stack에 값 2 추가 stack.push(3); // stack에 값 3 추가 stack.pop(); // stack에 값 제거 stack.clear(); // stack의 전체 값 제거 (초기화) stack.peek(); // stack의 가장 상단의 값 출력 stack.size(); // stack의 크기 출력 : 3 stack.empty(); // stack이 비어있는제 check (비어있다면 true) stack.contains(1) // stack에 1이 있는지 check (있다면 true)

Queue

Queue queue = new LinkedList<>(); //큐 사용할래요!!! queue.add(1); // queue에 값 1 추가 queue.add(2); // queue에 값 2 추가 queue.offer(3); // queue에 값 3 추가 queue.poll(); // queue에 첫번째 값을 반환하고 제거 비어있다면 null queue.remove(); // queue에 첫번째 값 제거 queue.clear(); // queue 초기화 queue.peek(); // queue의 첫번째 값 참조

PriorityQueue

//int형 priorityQueue 선언 (우선순위가 낮은 숫자 순) PriorityQueue priorityQueue = new PriorityQueue<>(); //int형 priorityQueue 선언 (우선순위가 높은 숫자 순) PriorityQueue priorityQueue = new PriorityQueue<>(Collections.reverseOrder()); priorityQueue.offer(2); // priorityQueue에 값 2 추가 priorityQueue.offer(1); // priorityQueue에 값 1 추가 priorityQueue.offer(3); // priorityQueue에 값 3 추가 priorityQueue.peek(); // priorityQueue에 첫번째 값 참조 = 1 priorityQueue.poll(); // priorityQueue에 첫번째 값을 반환하고 제거 비어있다면 null priorityQueue.remove(); // priorityQueue에 첫번째 값 제거 priorityQueue.clear(); // priorityQueue에 초기화

728x90

from http://soobinhand.tistory.com/65 by ccl(A) rewrite - 2021-11-15 12:01:51