๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Java

[Java] List to Array(๋ฐฐ์—ด) ๋˜๋Š” Array(๋ฐฐ์—ด) to List

by Jo__y 2022. 10. 13.

์ฃผ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์“ธ๋•Œ๋งˆ๋‹ค ์žŠ์–ด๋จน๊ณ  ์ฐพ์•„๋ณด๊ฒŒ ๋˜์–ด์„œ
๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

1. List to Array

List.toArray()

List ์˜ toArray() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ

List<String> list = new ArrayList<>();

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

์œ„์™€ ๊ฐ™์ด ๋ฐฐ์—ด ์„ ์–ธ๊ณผ ๋™์‹œ์— ํ• ๋‹น ํ•˜๊ฑฐ๋‚˜

List<String> list = new ArrayList<>();

String[] arr = new String[list.size()];
list.toArray(arr);

๋ฐฐ์—ด ์„ ์–ธ ํ›„ List ๊ฐ’์„ ์ฑ„์›Œ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

Stream API

Java8 ๋ฒ„์ „ ์ด์ƒ๋ถ€ํ„ฐ ์ œ๊ณต๋˜๋Š” Stream API ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

String[] arr = list.stream().toArray(String[]::new);

๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜

List -> int ์™€ ๊ฐ™์€ ์ฐธ์กฐํ˜• -> ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด ๋ณ€ํ™˜ ์‹œ์—๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜
Stream API ์˜ mapToInt() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
์ด๋˜ํ•œ Java8 ์ด์ƒ๋ถ€ํ„ฐ ์ œ๊ณต๋œ๋‹ค.

int[] arr = list.stream().mapToInt(i->i).toArray();

2. Array to List

Arrays.asList()

String[] arr = {"a","b","c"};

List<String> list = Arrays.asList(arr);

java.util.Arrays ํด๋ž˜์Šค์˜ asList() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณ€ํ™˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ, asList() ๋Š” ๊ณ ์ •๊ธธ์ด์ธ ArrayList ํด๋ž˜์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ ์ด ํด๋ž˜์Šค์—๋Š” ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋‚ด๋ถ€๊ตฌ์กฐ๋Š” ๋ฐฐ์—ด ๋กœ
๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์ˆ˜์ • -> List ๊ฐ’ ๋ณ€๊ฒฝ , List ๊ฐ’ ๋ณ€๊ฒฝ -> ์›๋ณธ๋ฐฐ์—ด ๋ณ€๊ฒฝ ๋“ฑ
์›๋ณธ๋ฐฐ์—ด๊ณผ List ์˜ ๊ฐ’์ด ๋™๊ธฐํ™” ๋˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„  ์ƒˆ๋กœ์šด ArrayList ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

String[] arr = {"a","b","c"};

List<String> list = new ArrayList<>(Arrays.asList(arr));

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ถ”๊ฐ€ํ• ์ˆ˜๋„ ์žˆ๊ณ , ์›๋ณธ ๋ฐฐ์—ด์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ List ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

Collections.addAll()

String[] arr = {"a","b","c"};

List<String> list = new ArrayList<>();
Collections.addAll(list , arr); // ๋น„์–ด์žˆ๋Š” List ๊ฐ์ฒด , ๋ฐฐ์—ด ๋งค๊ฐœ๋ณ€์ˆ˜

Collectors.toList() (Stream API)

Java8 ์ด์ƒ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

String[] arr = {"a","b","c"};
List<String> list = Arrays.stream(arr).collect(Collectors.toList());

๋ฐฐ์—ด์„ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ํ›„ ์ŠคํŠธ๋ฆผ -> List ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

์ฐธ์กฐ
[Java] List๋ฅผ ๋ฐฐ์—ด(Array)๋กœ ๋ณ€ํ™˜ ํ•˜๊ธฐ - Java๋ฒ„์ „๋ณ„, ๊ธฐ๋ณธํ˜• ๋ณ€ํ™˜
[Java]๋ฐฐ์—ด์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜(Array to List)

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€