본문 바로가기
ㆍJava

[자바/Java] String → Array, List // String → int[], List<Integer>

by 매이슨 2022. 4. 27.

알고리즘문제를 풀다보면
BufferedReader를 많이 사용한다.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

주로 br.readLine(); 을 사용한다.

bufferedReader로 읽어온 타입은 String이라서 int로 변경해준다.
입력은 보통이런식이다

A 유형
1=< N <=200,000,000 일때 
3
B 유형
1=< N <=200,000,000 일때 , N은 2개이상 500개이하이다.
3 31 35 15 63 9293 1 32 8 135

A유형은 Integer.parseInt로 간단한 형변환이 되지만
B유형은 그렇지 않다.

B유형의 경우
int[] (배열) 그리고 List<Integer> 로 변환하는 예제를 써볼까한다.

int[] (배열)

int[] arr = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();

List<Integer>

List<Integer> list = Arrays.stream(br.readLine().split(" "))
		.mapToInt(Integer::parseInt)
		.boxed().collect(Collectors.toList());

List 같은경우에는 ArrayList처럼 상속클래스가 필요한경우에는 캐스팅형변환 하여 되지만
본인은 형변환 (Int), (String)등의 형변환은 자제하는편이라 선호하지않는다.

또 List를 쓰다보면 자주 쓰는 정렬 방식을 남기면서 글 마치겠다.

 // 내림차순 정렬
	list.sort(Comparator.reverseOrder());
 // 오름차순 정렬
	list.sort(Comparator.naturalOrder());