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);
반응형