해당 페이지에서는 자주 사용하는 개발 패턴으로 배열을 리스트로 변환하거나 리스트를 배열로 변환하는 방법에 대해서 공유합니다.
1) 배열(Array)을 리스트(ArrayList)로 변환 : Array to ArrayList
💡 배열(Array)를 배열 리스트(ArrayList)로 변환하는 방법에 대해서 공유합니다.
1. Arrays 함수를 이용한 변환 방법 : Arrays.asList()
import java.util.*;
// 1. Array Initialize
String[] strArr = {"one", "two", "three"};
// 1.1. [배열 -> 컬렉션 함수] 배열 리스트(ArrayList) 선언 및 초기화합니다.
List<String> strArrList = Arrays.asList(strArr); // ArrayList : ["one", "two", "three"]
// 1.2. [배열 -> 컬렉션 함수] 배열 리스트(ArrayList) 선언 및 초기화합니다.
List<String> strArrList = new ArrayList<>(Arrays.asList(strArr)); // ArrayList : ["one", "two", "three"]
2. 반복문을 이용한 변환 방법 : for ~ each
import java.util.*;
String[] strArr = {"one", "two", "three"};
List<String> strArrList = new ArrayList<>();
for (String s : strArr)
strArrList.add(s); // ArrayList : ["one", "two", "three"]
3. Stream API를 이용한 변환 방법 : Arrays().stream().collect()
import java.util.*;
String[] strArr = {"one", "two", "three"};
List<String> strArrList = Arrays.stream(strArr).collect(Collectors.toList()); // ArrayList : ["one", "two", "three"]
[참고] 기본 자료형 Array to List 에러 발생 및 해결 방법 : int[] to List<Integer>
💡 정수 배열을 정수 리스트로 변환을 할때 즉시 변환이 안되는 변환 문제가 발생합니다.
💡 그렇기에 다른 자료형과 다르게 처리가 됩니다
// 1. Array Initialize
int[] intArr = {1, 2, 3, 4, 10, 45, 65, 33};
// 2. 타입 변수의 인스턴스가 없으므로 int[]이(가) Integer을(를) 준수합니다 추론 변수 T에 호환되지 않는 바운드가 있습니다. equality constraints: Integer lower bounds: int[]
List<Integer> inteArrList = Arrays.asList(intArr);

1. for문을 이용하여 값 구성 방법
// 1. Array Initialize
int[] intArr = {1, 2, 3, 4, 10, 45, 65, 33};
// 2. ArrayList Initialize
List<Integer> intArrList = new ArrayList<>();
// 3. Array to ArrayList
for (int intItem : intArr) {
intArrList.add(intItem);
}
2. Steam API를 이용하여 값 구성방법
// 1. Array Initialize
int[] intArr = {1, 2, 3, 4, 10, 45, 65, 33};
// 2. ArrayList Initialize
List<Integer> intArrList = new ArrayList<>();
// 3. Array to ArrayList
intArrList = Arrays.stream(intArr).boxed().collect(Collectors.toList());
[참고] 기본 자료형을 래퍼 클래스로 Boxing 관련 참고 링크
[Java/Short] 기본 자료형과 래퍼 클래스의 박싱(Boxing)과 언박싱(Unboxing) 방법
해당 페이지에서는 자주 사용하는 개발 패턴으로 "기본 자료형을 래퍼 클래스로 변환(Boxing)하거나 래퍼 클래스를 기본 자료형으로 변환(Unboxing)”하는 방법에 대해서 공유합니다. 1) 기본 자료형
adjh54.tistory.com
2) 리스트(ArrayList)를 배열(Array)로 변환
💡 리스트(ArrayList)를 배열로 변환하는 방법에 대해서 공유합니다.
1. List 함수를 이용한 변환 방법: List.toArray()
String[] resultArr;
List<String> strArrList = Arrays.asList("one", "two", "three");
// 1. [컬렉션 함수 -> 배열] 배열의 사이즈를 지정하고 값을 넣어줍니다.
resultArr = strArrList.toArray(new String[strArrList.size()]); // String[] : ["one", "two", "three"]
2. 반복문을 이용한 변환 방법 : for문
String[] resultArr;
List<String> strArrList = new ArrayList<>(Arrays.asList("one", "two", "three"));
// 1. Array Size Initialize
resultArr = new String[strArrList.size()];
// 2. [컬렉션 함수 -> 배열] for문으로 배열의 값을 넣어줍니다.
for (int j = 0; j < strArrList.size(); j++) {
resultArr[j] = strArrList.get(j); // String[] : ["one", "two", "three"]
}
3. ArrayList<Integer>를 int[]로 변환방법
💡 해당 방법에서는 List -> Integer[] -> int[]로 변환을 하는 과정입니다.
// [STEP1] 리스트 구성
List<Integer> integerList = Arrays.asList(93, 30, 55);
// [STEP2] List<Integer> to Integer[]로 변환
Integer[] integerArr = answerList.toArray(new Integer[answer.length]);
// [STEP3] Integer[] to int[]로 변환: 언박싱
int[] resultArr = Arrays.stream(integerArr).mapToInt(Integer::intValue).toArray()
오늘도 감사합니다. 😀
'Java > Short 개발' 카테고리의 다른 글
[Java/Short] String <-> int 변환 방법 : 부호(+, -) 포함 여부 (0) | 2023.02.26 |
---|---|
[Java/Short] Array, ArrayList 정렬(Sort) 방법 (0) | 2023.02.22 |
[Java/Short] 기본 자료형과 래퍼 클래스의 박싱(Boxing)과 언박싱(Unboxing) 방법 (0) | 2023.02.21 |
[Java/Short] N진법 <-> 정수(10진법) 변환 방법: + N진법간 합 방법 (0) | 2023.02.21 |
[Java/Short] String <-> ASCII Code 변환 방법 (0) | 2023.02.21 |