본문 바로가기
728x90

IT Tech/Application37

[java] Comparable을 이용해 Pair 클래스 정렬하기 입력된 인덱스 값과 정렬된 값을 함께 저장하는 방법 import java.util.*; class Pair implements Comparable{ int index; int number; public Pair(int index, int number) { // 생성자 super(); this.index = index; this.number = number; } // number 기준으로 오름차순 @Override public int compareTo(Pair p) { return Integer.compare(this.num, p.number); } } public class void main(String[] args) { BufferedReader br = new BufferedReader(new Inp.. 2021. 9. 5.
[java] Array(배열) # Array 초기화 - 기본타입(Primitive type)의 배열인 경우 초기값을 가지고 있음 (int = 0) - 참조타입(Reference type)의 배열을 선언했을 경우 배열내 엘리먼트의 초기값이 null임 //크기 할당 & 초기화 없이 배열 참조변수만 선언 int[] arr; int arr[]; // 선언과 동시에 배열 크기 할당 int[] arr = new int[5]; String[] arr = new String[5]; // 기존 배열의 참조 변수에 초기화 할당하기 int[] arr; arr = new int[5]; // Arrays.fill(배열, 초기화 값) Arrays.fill(arr, Integer.MAX_VALUE); // 최대값으로 초기화 // 2차원 배열 초기화 int[][.. 2021. 9. 5.
[java] Array, List(ArrayList, LinkedList) # Array (배열) - 배열의 사이즈를 알 수 있을 때 사용 - 사이즈 변경 불가 import java.util.Arrays; int myArray = new int[6]; # ArrayList - 데이터 사이즈를 알 수 없을 때 사용 - 추가, 삭제가 가능 ; add(), remove() import java.util.ArrayList; public class Main { ArrayList myArrayList = new ArrayList(); myArrayList.add(1); myArrayList.add(2); myArrayList.add(3); myArrayList.add(4); myArrayList.add(5); myArrayList.remove(0); for(int i = 0; i < my.. 2021. 9. 4.
[java] Stack, Queue, ArrayDeque # Stack - Last in First Out - 스택은 ArrayList로 구현 Stack st = new Stack(); st.push('10'); st.push('20'); st.push('30'); while(!st.empty()){ System.out.println(st.pop()); } # Queue - First in First Out - 큐는 LinkedList로 구현 Queue q = new LinkedList(); q.offer('10'); q.offer('20'); q.offer('30'); while(!q.isEmpty()){ System.out.println(q.poll()); } - 큐를 ArrayDeque로 구현 Queue q = new ArrayDeque(); q.add(.. 2021. 9. 4.
[java] Primitive와 Reference Type # Primitive Type(기본형) - 비객체 타입으로, Null을 가질 수 없는 형태 - 원시타입은 '스택' 메모리에 값이 존재 - Reference 타입보다 속도가 빠름 # Reference Type(참조형) - 참조형은 기본적으로 java.lang.Object 를 상속받음 - 선언한 자료형이 기본형이 아닌 경우 참조형(Class, Interface, Arrays) - 참조타입은 하나의 인스턴스이기 때문에 '스택' 메모리에는 참조값만 있고, 실제 값은 힙 메모리에 존재 - 값을 필요로 할 때마다 언박싱 과정을 거치기 때문에 Primitive타입과 비교해서 접근 속도가 느림 - 예외적으로 엄청 큰 숫자를 복사해야 한다면, 참조값만 넘길 수 있는 참조타입이 좋을 수 도 있음 # Wrapper Clas.. 2021. 9. 4.
반응형