본문 바로가기
Java·Servlet·JSP

[JAVA] Array -> List, Set 변환 방법

by Leica 2020. 1. 15.
반응형

Arrays.asList()

Arrays 클래스의 asList() 메소드는 list 객체로 collection을 초기화하는데 편리한 방법을 제공해준다. 참고로 Java 8 기준으로 아직 java에는 set, map의 literal이 없다.

 

다음은 String 배열을 List와 Set으로 각각 변환하는 예이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Set<String> wordsSet = new HashSet<>();
String sentence = "once upon a time in hollywood";
String[] arrayWords = sentence.split(" ");
 
// Array -> List
List<String> wordsList = Arrays.asList(arrayWords);
 
// Array -> Set
wordsSet.addAll(Arrays.asList(arrayWords));
 
// 출력 확인
System.out.println("========== List ==========");
for(String s: wordsList) {
    System.out.println(s);
}
 
System.out.println("========== Set ==========");
for(String s: wordsSet) {
    System.out.println(s);
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
========== List ==========
once
upon
a
time
in
hollywood
========== Set ==========
a
hollywood
once
in
time
upon
cs

실행 결과

 

※ API Document

java.util.Arrays.asList

@SafeVarargs public static List asList​(T... a)
Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between array-based and collection-based APIs, in combination with Collection.toArray(). The returned list is serializable and implements RandomAccess.
This method also provides a convenient way to create a fixed-size list initialized to contain several elements:
지정된 배열로부터 고정 크기 list를 반환한다. 이 메소드는 Collection.toArray()와 함께 배열 기반 API와 컬렉션 기반 API 간의 브릿지 역할을 한다. 반환된 list는 serializable(일련화할 수 있는)이며 RandomAccess를 구현한다.
또한 이 메소드는 elements를 포함하는 고정된 크기로 초기화된 list를 생성하는 편리한 방법을 제공한다.

List stooges = Arrays.asList("Larry", "Moe", "Curly");

Type Parameters:
T - the class of the objects in the array

Parameters:
a - the array by which the list will be backed

Returns:
a list view of the specified array

 

[JAVA] List 객체 복사 방법과 Collections.copy()에 관한 고찰

 

[JAVA] List 객체 복사 방법과 Collections.copy()에 관한 고찰

Card 클래스 정의 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 public class Card { private int front; // 카드 앞면 문구(숫자) priv..

atoz-develop.tistory.com

반응형

댓글