실전 프로젝트 2주차. 오늘은 하루종일 람다 스트림 공부를 했다. 대충 코드 구현은 할 수 있었지만 매번 개념 공부는 넘어갔던 터라 한번 정리하고 싶었는데 이번 기회에 싹 정리했다. 오늘 TIL에는 IDE 못쓰는 코딩테스트 대비용 암기하면 좋은 코드들 적어보려고 한다.
// import. 이거 하나면 대부분의 라이브러리 함수, 컬렉션 함수를 쓸 수 있다.
import java.util.*;
// 정렬
Arrays.sort(arr); // 오름차순
Arrays.sort(arr, Comparator.reverseOrder()); // 내림차순
// Math 함수. 두 값중에서 큰값 반환
answer = Math.max(a,b)
// 우선순위 큐. 다익스트라 minheap maxheap 이용한 문제 풀 때 사용
Queue<Integer> MinHeap = new PriorityQueue<>();
Queue<Integer> MaxHeap = new PriorityQueue<>(Comparator.reverseOrder());
// Map
Map<String, Integer> hash = new TreeMap<String, Integer>();
// 문자열 나눌 때 0부터 시작하는 문자열 인덱스에서 5<=x<8 번째 값만 추출
str.substring(5,8);
// 2차원 ArrayList 만들 때
static ArrayList<Integer>[][] map;
map = new ArrayList[N + 1][N + 1];
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
map[i][j] = new ArrayList<Integer>();
}
}
// list 순회 방법 Iterator를 쓰면 순회하면서 제거하는게 가능하다.
for (Iterator<Pair> it = list.iterator(); it.hasNext();) {
Pair p = it.next();
if(p.a == 5)
it.remove();
}