▶int[]을 Integer[]로 변환하기
int[] arr = new int[5];
Integer[] integerArr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
▶Integer[]을 ArrayList<Integer>로 변환하기
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(integerArr));
▶ArrayList<Integer> 를 int[]로 변환하기
int[] arr2 = list.stream().mapToInt(Integer::valueOf).toArray();
※람다식 (Lambda)
자바는 람다식을 이용하여 함수 스타일을 지원한다. 람다식은 함수적 인터페이스(Functional Interface)의 익명구현객체로 생성되어 작동한다. 함수적 인터페이스에는 구현해야하는 메소드가 한 개뿐인데 해당 메소드의 매개변수, 리턴타입에 맞춰서 (매개변수) -> (코드) 의 형태로 간략하게 작성한다.
※ 메소드 참조( Method References)
메소드를 참조하여 매개변수 및 리턴 타입을 알아내어 람다식에서 불필요한 매개 변수를 제거할 때 사용한다. 람다식과 마찬가지로 함수적 인터페이스의 익명구현객체로 생성되어 작동한다.
람다식 : (left, right) -> Math.max(left,right);
메소드참조: Math::max
참조: 이것이 자바다
toArray(Integer[] :: new) 의 경우 Stream의 toArray() 메소드는
<A> A[] toArray(IntFunction<A[]> generator) 의 시그니처를 갖는다.
'개발 > JAVA' 카테고리의 다른 글
[Java] 시간과 관련된 자바 클래스 (0) | 2023.06.12 |
---|---|
[Java] 텍스트 파일 읽기, Reader, FileReader, File, BufferedReader (0) | 2023.06.09 |
[Java] 자바 상식2 (0) | 2023.05.17 |
[Java] 자바 상식 (0) | 2023.05.16 |
[JAVA] 정규표현식(Regular Expression) (0) | 2022.07.06 |