[Java] convert int array to HashSet

code4109·2022년 11월 8일
0

JAVA

목록 보기
1/1

종종 코딩테스트 문제들을 풀다 보면 원시 타입인 int 배열을 HashSet이나 ArrayList 등으로 변환해야 할 일이 생기는데 매번 까먹어서...

int[] sampleArr = new int[]{1, 2, 3, 4, 5};
Set<Integer> converted = 
     Arrays.stream(sampleArr).boxed().collect(Collectors.toSet());

boxed() 메소드는 반환값이 Stream<Integer>로 인수로 넘어오는 배열의 요소, 원시타입 int를 Object인 Integer로 변환하는 역할을 한다.
IntStream 인터페이스에 선언된 메소드로 구현은 아래와 같음.

@Override
public final Stream<Integer> boxed() {
	return mapToObj(Integer::valueOf, 0);
}

0개의 댓글