728x90
코드 예시
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
// 첫 번째 입력: 수의 개수 N
int N = Integer.parseInt(bf.readLine());
// 두 번째 입력: N개의 수를 한 줄로 입력받아 배열에 저장
long[] num = Arrays.stream(bf.readLine().split(" ")) // 공백으로 나누기
.mapToLong(Long::parseLong) // String -> long 변환
.toArray(); // 배열로 변환
// 확인용 출력
for (long val : num) {
System.out.println(val);
}
동작 설명
- bf.readLine(): 한 줄 입력을 받아 문자열로 저장합니다.
- .split(" "): 공백 기준으로 문자열을 나눠서 String[]로 변환합니다.
- Arrays.stream(...).mapToLong(Long::parseLong): String[]을 long[]으로 변환합니다.
- mapToLong(Long::parseLong): 각 문자열을 long 타입으로 변환합니다.
- .toArray(): 스트림을 long[]으로 최종 변환합니다.
장점
- 입력받은 값을 한 줄로 깔끔하게 처리할 수 있습니다.
- 별도의 반복문 없이 N개의 수를 바로 long[]로 저장할 수 있습니다.
추가 팁
- 만약 숫자들이 공백이 아닌 다른 구분자로 구분되어 있다면, .split() 안의 문자열을 해당 구분자로 변경하면 됩니다.
- 예: 쉼표(,)로 구분된 경우 → .split(",")
- Integer 배열로 처리해야 한다면 mapToInt(Integer::parseInt)를 사용할 수도 있습니다.
이 방법을 사용하면 효율적으로 데이터를 처리할 수 있으니 활용할수 있다!
728x90
728x90
'Java' 카테고리의 다른 글
Maven Pom.xml 구조에 관하여 (0) | 2025.04.29 |
---|---|
[Java] Stream 사용법 (2) | 2024.12.02 |
[Java] Int와 Long 사용 구분하기 (2) | 2024.12.02 |
[Java] Scanner vs BufferedReader (0) | 2024.11.25 |
[Java] 표준입출력 System.in 클래스 (4) | 2024.11.12 |