IDE 사용 금지 코딩 테스트 용 자주 사용하는 문법 정리
라이브러리
import java.util.*;
import java.io.*;
Array
int arr[] = {1, 2, 3, 4, 5};
// 오름차순 정렬
Arrays.sort(arr);
// 내림차순 정렬
Arrays.sort(arr, Collections.reverseOrder());
// 배열 -> 리스트
List list = Arrays.asList(arr);
length
// 문자열
String s;
int len = s.length();
// 배열
int[] arr = new int[3];
int arr_len = arr.length;
// 리스트
ArrayList<Integer> list = new ArrayList<>();
int list_len = list.size();
Iterator
Set<Integer> set = new HashSet<>();
Iterator it = set.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Queue
Queue<Integer> queue = new ArrayDeque<>();
queue.offer(1);
queue.poll();
queue.clear();
queue.isEmpty();
// 우선순위 큐
PriorityQueue<Integer> pq = PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1,o2)
}
});
// 람다식
PriorityQueue<Integer> pq = PriorityQueue<>((o1, o2) -> Integer.compare(o1,o2))
// 클래스 사용 시
public class Node implements Comparable<Node>{
int x, y;
@Override
public int compareTo(Node o) {
return Integer.compare(this.x, o.x)
}
}
PriorityQueue<Node> pq = PriorityQueue<>();
Sort Comparator
ArrayList<Integer> list = new ArrayList<>();
Integer[] num = new Integer[N]; // wrapper class 사용
// 오름차순 정렬
Collections.sort(list, Comparator.naturalOrder());
// 내림차순 정렬
Collections.sort(list, Comparator.reversOrder());
// Comparator 구현
// Collection Sort
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if(o1 < o2) {
return -1; // 왼쪽에 위치해야 됨
} else if(o1 == o2) {
return 0;
} else {
return 1; // 오른쪽에 위치해야 됨
}
}
});
// Array Sort
Arrays.sort(num, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1, o2);
}
});
클래스
class Node {
int x, y;
public Node(int x,int y) {
this.x = x;
this.y = y;
}
}
// Comparable
class Node implements Comparable<Node>{
int x, y;
int dist;
public Node(int x,int y) {
this.x = x;
this.y = y;
}
@Override
public int compareTo(Node o) {
return Integer.compare(this.dist, o.dist);
}
}
'프로그래밍 > 자바' 카테고리의 다른 글
[JAVA] 멀티스레드로 채팅 구현하기 (1) | 2023.07.08 |
---|---|
22-11-06 배운 내용 (0) | 2022.11.07 |
22-10-30 배운내용 (0) | 2022.10.30 |
[JAVA] 자바 오버로딩 (Overloading), 가변인자 (varargs) (0) | 2022.09.28 |
[JAVA] 자바 클래스, 인스턴스 (0) | 2022.09.27 |