[JAVA] ArrayList <-> Array

2024. 2. 20. 00:12·공부

알고리즘 문제를 풀다가 ArrayList로 풀어야 하다가도 리턴은 Array여서 바꿔야할 경우가 많았구, 

특히 ArrayList는 Integer 이고, Array는 int 인 경우가 많아 이부분에 대해서 공부가 필요했다!

1. ArrayList 두가지 방법

1)

ArrayList<String> list = new ArrayList<>(Arrays.asList("aa","bb","cc"));

 

2)

ArrayList<String> list = new ArrayList<>();
list.add("bb");
list.add("aa");
list.add("cc");

 

+) ArrayList 출력은 그냥 값을 넣으면 된다! 참고로 그냥 배열(Array)은  Arrays.toString(list)로해야한다는 사실!

 

 

2.ArrayList<String> -> String[] 으로 바꾸는 방법

String[] array = list.toArray(new String[0]);

이때는 stream()을 할 필요는 없다!

  •  toArray()
    • 배열의 타입을 지정하는데 사용
    • 인자로 전달된 배열에 요소를 복사하고 반환
    • 반환 Object[]

결과로 반환될 배열의 타임을 String으로 지정하고 싶다면 -> new String[0]을 넣어주기!

** 배열의 크기 0으로 지정한 이유 : 결과로 반환될 배열의 크기를 예상할수 없음 + 필요한 크기에 맞게 자동 조정!

 

3.String[] -> ArrayList<String>

// String 배열 생성
String[] stringArray = {"apple", "banana", "cherry"};
        
// 배열을 List로 변환
List<String> stringList = Arrays.asList(stringArray);
        
// List를 ArrayList로 변환
ArrayList<String> arrayList = new ArrayList<>(stringList);
  • 먼저 List로 변환하기 
    • Arrays.asList(String배열);
  • 이후 List를 ArraList<String>으로 변환하기
    • new ArrayList<>(List);

한방에 변화시키기!!

ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(stringArray));

4.ArrayList<Integer> -> int[]

ArrayList는 Integer로 하는 경우가 많은데, 바로 toArray()를 쓸수 없다!!

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(3,4,2));
int[] array = list.stream().mapToInt(Integer::intValue).toArray();
  • .stream()
    • stream()선언
  • .mapToInt(Integer::intValue)
    • Integer -> int 로 변하면서 맵돌리기
  • .toArray() 
    • int[] 배열로 반환하도록

'공부' 카테고리의 다른 글

[알고리즘] 정렬  (0) 2024.05.07
Kotlin 기본 문법 정리  (7) 2024.03.27
[JAVA] 문자열 함수 정리  (0) 2024.02.19
[JAVA] Stack(스택)과 Queue(큐)  (2) 2024.02.04
[JAVA] Arrays.sort() 오름차순 내림차순  (1) 2024.01.31
'공부' 카테고리의 다른 글
  • [알고리즘] 정렬
  • Kotlin 기본 문법 정리
  • [JAVA] 문자열 함수 정리
  • [JAVA] Stack(스택)과 Queue(큐)
jiixon
jiixon
  • jiixon
    Dev:elop
    jiixon
  • 전체
    오늘
    어제
    • 분류 전체보기 (26)
      • JAVA (0)
      • SPRING (3)
      • SERVER (2)
      • 공부 (20)
  • 블로그 메뉴

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

    • POST
    • SETTING
  • 공지사항

  • 인기 글

  • 태그

    테스트
    junit
    프로그래머스
    Kotlin
    알고리즘
    Elastic Beanstalk
    배포
    spring jpa
    AWS
    springboot
    spring
    서버
    java
    AssertJ
    Bdd
    자바
    tdd
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
jiixon
[JAVA] ArrayList <-> Array
상단으로

티스토리툴바