[Java] String 배열을 리스트로 /리스트를 배열로 변환하는 방법

2025. 3. 6. 20:35·Java

코딩테스트를 배열을 리스트로 ,리스트를 배열로 변환 과정이 필요하다.

어떤 방법들로 바꿔줄 수 있는지 알아보자.

 

배열 ➔ List 로 바꾸는 방법

  1. Arrays.asList()                                   // 배열의 값을 바꿀때 주로 사용
  2. new ArrayList<>(Arrays.asList())    // 배열의 값을 추가하거나 제거해서 길이가 변할 때
  3. Collectors.toList                               //스트림을 이용하여 전체 배열을 변환할 때

List ➔ 배열 로 바꾸는 방법

  1. List.toArray()

배열 ➔ List 로 바꾸는 방법

✅ 1. Arrays.asList()

import java.util.Arrays;
import java.util.List;

String[] arr ={"A","B","C"};
List<String> list = Arrays.asList(arr);
System.out.println(list);

 

//[A, B, C]

 

✅ 2. new ArrayList<>(Arrays.asList())

❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ 
String[] arr ={"A","B","C"};

List<String> list = Arrays.asList(arr);
list.add("D");
                                                    //예외 발생
System.out.println(list);
❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌

 

 위의 코드를 이용해 배열에 D를 추가하면 기존의 arr 의 배열 길이는 고정길이이기 때문에 예외가 발생한다. 

그러므로 가변적으로 길이를 바꿀 수 있는 ArrayList로 변환하는 것이 바람직 하다.

 

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

String[] arr ={"A","B","C"};
List<String> list = new ArrayList<>(Arrays.asList(arr)); //ArrayList 객체생성
list.add("D");
System.out.println(list);

 

//[A, B, C, D]

 

 

✅ 3.Collectors.toList()

Stream 을 이용하여 배열을 리스트로 변환 할수도 있다. 

import java.util.List;
import java.util.stream.*;

String[] arr ={"A","B","C"};
List<String> list = Stream.of(arr).collect(Collectors.toList());

System.out.println(list);
//[A, B, C]

 

 


List ➔ 배열 로 바꾸는 방법

✅ 1. List.toArray()

list의 사이즈를 구해서 새로운 String 배열을 생성하면된다.

import java.util.List;
import java.util.stream.*;
import java.util.Arrays;

String[] arr ={"A","B","C"};
List<String> list = Stream.of(arr).toList();
int listSize = list.size();
String[] array = list.toArray(new String[listSize]);
System.out.println(Arrays.toString(array));
//[A, B, C]

 

⚠️주의: Arrays.toString() 을 사용하지 않고 array배열만 출력하면 주소값만 나오게 된다.

 


 

다음 글은 Integer 형의 배열과 리스트를 변환하는 과정을 알아볼려고 한다.

'Java' 카테고리의 다른 글

[Java]String 메소드 총정리  (1) 2025.03.07
[Java]문자열을 배열로 변환하는 방법  (0) 2025.03.06
[Java]valueOf()를 이용한 형변환  (0) 2025.03.04
[Java]Enum이란? & 사용법  (0) 2025.02.28
[Java]코드 스타일 및 명명 규칙  (0) 2025.02.24
'Java' 카테고리의 다른 글
  • [Java]String 메소드 총정리
  • [Java]문자열을 배열로 변환하는 방법
  • [Java]valueOf()를 이용한 형변환
  • [Java]Enum이란? & 사용법
코딩로봇
코딩로봇
금융 IT 개발자
  • 코딩로봇
    쟈니의 일지
    코딩로봇
  • 전체
    오늘
    어제
    • 분류 전체보기 (152) N
      • JavaScript (8)
      • SQL (11)
      • 코딩테스트 (30)
        • Java (15)
        • SQL (13)
      • Java (10)
      • 프로젝트 (30)
        • 트러블슈팅 (10)
        • 프로젝트 회고 (18)
      • git,Github (2)
      • TIL (38)
      • Spring (20)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java #arraylist #list #배열
    스파르타 코딩 #부트캠프 #첫ot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩로봇
[Java] String 배열을 리스트로 /리스트를 배열로 변환하는 방법
상단으로

티스토리툴바