Java & Spring

[Java] Cheat sheet 알고리즘용

daehwi 2023. 7. 25. 15:55
반응형

# 기본 메소드

ArrayList<T> : add(T) / get() / size() / remove(T) / contains(T)

 

HashMap<T,T> : put(Key,Value) / get(Key) / size() / remove(Key) / containsKey(Key) / getOrDefault(Key, Default Value)

 

Set<T> : add(T) / addAll(T,T, ...) / remove(T)

 

Queue<T> q = new LinkedList<T>();

add / peek / remove / isEmpty / clear

 

PriorityQueue<Integer> pq = PriorityQueue<Integer>();

 

Override Comparator.compare


# 형변환

int[] to Integer[]

int[] arr = {1,2,3,4,5};
Integer[] integerArr = Arrays.stream(arr).boxed().toArray(Integer[]:new);

프로그래머스 같은 경우 기본 배열을 int Array로 제공한다. 다만 이 경우, 

 

boxed() : 원시타입에 대한 Stream인 IntStream -> IntegerStream 으로 변환하는 메소드

toArray(Integer[]:new) : Integer Array 로 변환

 

Integer[] to Int

Integer[] arr = {1,2,3,4,5}
int[] intArr = Arrays.stream(arr).mapToInt(x->x).toArray();

mapToInt() : Integer Stream을 int Stream으로 반환

 

Array to List

List<T> list = Arrays.asList(arr);

위의 경우 Array의 값을 변경하면 List의 값도 함께 변경되며, List의 원소를 추가하거나 삭제할 수 없다.

 

List<T> list = new ArrayList<T>(Arrays.asList(arr));

위처럼 사용하면 새로운 ArrayList 객체를 생성하기 때문에 일반적인 List처럼 add() / remove()를 이용해서 원소를 추가하거나 삭제할 수 있다.

 

List to Array

#생략#


# Array

Array 정렬 / 이진탐색 / 슬라이싱

Arrays.sort(arr);

Arrays.sort(arr, Collections.reverseOrder());

// 부분정렬 (0~4번 인덱스)
Arrays.sort(arr, 0, 5);

// 오름차순 정렬이 되어있을 때만 가능
Arrays.binarySearch(arr, 3);

// 배열 자르기 (0~4번 인덱스)
int[] arr1 = Arrays.copyOfRange(arr, 0, 5);

반응형