본문 바로가기
Language/Java

자바 List<Integer> 를 int[] Integer[] 로 변환방법

by wakestand 2020. 12. 15.
반응형

자바에서 Integer 타입의 List를

int 배열이나 Integer 배열로 변환하는 방법인데

 

먼저 for를 사용하는 방법은

크기만 list의 size에 해당하는 배열을 만들어 준 뒤

for 문을 돌려 하나씩 값을 넣어주면 된다

 

다음으로 Stream, toArray를 사용하는 방법인데

리스트명.Stream().mapToInt(Integer::intValue).toArray();

를 통해 리스트를 모두 int 타입의 값으로 바꿔서

int[] 배열로 반환 시킬 수 있다

 

Integer[] 배열의 경우에는

리스트명.toArray(new Integer[리스트명.size()]);

를 사용해 주면 리스트의 내용을 Integer 배열 안에 담아줄 수 있다

 

마지막으로 예제에 사용한 코드는 다음과 같다

 

	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		list.add(1);
		list.add(2);
		list.add(3);
		
		// for 문을 이용한 방법
		int[] f = new int[list.size()];
		for(int i = 0; i<list.size(); i++) {
			f[i] = list.get(i);
		}
		System.out.println(Arrays.stream(f).boxed().collect(Collectors.toList()));
		
		int[] i = list.stream().mapToInt(Integer::intValue).toArray(); // int 배열로
		Integer[] i2 = list.toArray(new Integer[list.size()]); // Integer 배열로
		
		System.out.println(Arrays.stream(i).boxed().collect(Collectors.toList()));
		System.out.println(Arrays.stream(i2).collect(Collectors.toList()));
	}
반응형

댓글