記錄

JAVA) HashMap의 value들을 ArrayList에 넣기 본문

Computer language/JAVA

JAVA) HashMap의 value들을 ArrayList에 넣기

surhommejk 2018. 2. 21. 10:43

ArrayList

public ArrayList(Collection<? extends E> c)

Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator.

Parameters:c - the collection whose elements are to be placed into this listThrows:NullPointerException - if the specified collection is null


values

Collection<V> values()

Returns a Collection view of the values contained in this map. The collection is backed by the map, so changes to the map are reflected in the collection, and vice-versa. If the map is modified while an iteration over the collection is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The collection supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Collection.remove, removeAll, retainAll and clear operations. It does not support the add or addAll operations.

Returns:a collection view of the values contained in this map



    public static void main(String[] args) {
    
        Map<Integer, String> quiz1 = new HashMap();
        
//      Map<Integer, String> quiz1 = new LinkedHashMap();
//          만약 여기서 LinkedHashMap으로 만들게 되면
//          연결된 노드들에 의해서 출력도 주입 순서와
//          똑같이 나오게 된다
//          여기서 말하는 출력이란 print 뿐만이 아니라
//          아래 ArrayList에 들어가는 절차도 포함한다

        quiz1.put(1, "프랑스");
        quiz1.put(2, "한국");
        quiz1.put(3, "미국");
        quiz1.put(4, "아랍에미리트");
        quiz1.put(5, "일본");

        List<String> list1 = new ArrayList(quiz1.values());
        System.out.println(list1); // 결과 : [프랑스, 한국, 미국, 아랍에미리트, 일본]


Tip)

만약 value의 값이 Integer 라면 ArrayList에 일괄적으로 넣고

sort를 해버린다면 정렬도 가능하게 된다

(String이라 해도 값이 숫자값이면 casting을 사용)




물론 기존에 썼던 "for (Map.entry e : ~.entrySet())" 를 이용해도 되지만 코드량이 줄어들고 생각없이 썼던 생성자에 파라미터를 넣음으로써 바로 ArrayList로 옮길 수 있다는 면에서 포스팅 할 가치가 있다

'Computer language > JAVA' 카테고리의 다른 글

JAVA) 네트워크(채팅 예제 구현)  (0) 2018.02.21
JAVA) HashMap에서의 순서  (0) 2018.02.21
JAVA) Thread  (0) 2018.02.20
JAVA) 직렬화  (0) 2018.02.20
JAVA) CMD내 TREE 기능 구현  (0) 2018.02.19
Comments