Post

Java Map을 Array, List 또는 Set 변환

1. Map to Array

일반 java를 사용하여 Map의 값을 배열로 변환하는 방법이다.

1
2
3
4
5
6
7
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
    Map<Integer, String> sourceMap = createMap();

    Collection<String> values = sourceMap.values();
    String[] targetArray = values.toArray(new String[0]);
}

toArray (new T[0])toArray(new T[size]) 보다 메서드를 사용하는 기본 방법이다. Aleksey Shipilëv가 자신의 블로그 게시물에서 증명했듯이 더 빠르고 안전하며 깨끗하다.

2. Map to List

1) 일반 Java 사용

일반 Java를 사용하여 Map 값을 List로 변환한다.

1
2
3
4
5
6
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
    Map<Integer, String> sourceMap = createMap();

    List<String> targetList = new ArrayList<>(sourceMap.values());
}

2) 구아바 사용

1
2
3
4
5
6
@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
    Map<Integer, String> sourceMap = createMap();

    List<String> targetList = Lists.newArrayList(sourceMap.values());
}

3. Map to Set

일반 Java를 사용하여 Map의 값을 Set로 변환한다.

1
2
3
4
5
6
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
    Map<Integer, String> sourceMap = createMap();

    Set<String> targetSet = new HashSet<>(sourceMap.values());
}

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.