import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String[] inputStrings = input.split(" "); // StringTokenizer 사용 안하고 split 하는 방법
System.out.println(Arrays.toString(inputStrings));
}
}
BufferedReader 사용 방법 - StringTokenizer 사용 O
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
System.out.printf("%d, %d\n", N, M);
}
}
입력받은 숫자 개수를 모를때 - StringTokenizer 사용하는 방법
while(st.hasMoreTokens()) {}
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()) {
System.out.println(Integer.parseInt(st.nextToken()));
}
}
}
2. Array, ArrayList
Array: 크기가 고정됨. 한 번 선언하면 크기를 변경할 수 없음.
int[] arr = new int[5]; // 크기가 5로 고정됨
ArrayList: 크기가 동적으로 변함. 요소를 추가하거나 삭제하면 자동으로 크기가 조정됨.
ArrayList<Integer> list = new ArrayList<>(); // 크기 제한 없음
3. 정렬
기본형 (primitive)
오름차순
Arrays.sort(arr)
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 1, 2};
Arrays.sort(arr); // 오름차순 정렬
System.out.println(Arrays.toString(arr)); // [1, 2, 3, 5, 8]
}
}
내림차순 : Wrapper 클래스로 변경해야 함!!!!!!!
Arrays.sort(Arr, Collections.reverseOrder());
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
int[] arr = {5, 3, 8, 1, 2};
// int[] -> Integer[] 변환
Integer[] arrInteger = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬
System.out.println(Arrays.toString(arr)); // [8, 5, 3, 2, 1]
}
}