[java]

[java]List안 Hashmap 출력 및 사용하기(List<hashmap>) , 순서 보장 hashmap

미나미나미 2018. 6. 24. 22:17

[java]List안 Hashmap 출력 및 사용하기(List<hashmap>) , 순서 보장 hashmap


데이터를 저장하기 위해서 변수를 

모두다 선언하는 것보다는 key value로 값으로 주로 사용하는데 

거기다가 List를 사용해서 사용하는 경우가 참 많죠? 


제가 써보도록 하겠습니다.



1. import를 해줄 요소들


import java.util.ArrayList;
//hashmap를 담기 위해서 선언
import java.util.HashMap;
//실질적인 값들을 넣어줄 hashmap
import java.util.LinkedHashMap;
//추가적으로 hashmap과 linkedhashmap 비교를 해보겠습니다.
import java.util.Map.Entry;
//hashmap의 key 값을 가져와서 출력합니다.



2. ArrayList 선언 

ArrayList <HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
//ArrayList 넣어줄 계획이고 넣는 타입들은 HashMap이면서
//Hashmap은 key는 String 값 , value 값도 String 값입니다.


3. ArrayList에 HashMap 넣어주기

HashMap<String, String> map = new HashMap<String,String>();
map.put("1", "아이유");
map.put("2", "수지");
map.put("3", "제니");
//key, value로 String의 값들을 넣어줍니다.
list.add(map);

map = new HashMap<String,String>();
for(int i = 0; i < 5; i++){
    map.put(i + "Hello", "Hello "+ i);
    //for문을 돌면서 순차적으로 넣어줍니다.
}
list.add(map);

map = new LinkedHashMap<String,String>();
for(int i = 0; i < 5; i++){
    map.put(i + "Hello", "Hello "+ i);
    //for문을 돌면서 순차적으로 넣어줍니다.
}
list.add(map);


총 hashmap를 세번을 생성하여서 list안에 세번 넣어주도록 합니다.

그리고, HashMap과 LinkedHashMap의 차이점은 결과에서 볼 수 있습니다.



4. ArrayList에 HashMap 출력해보기

public static void print(ArrayList<HashMap<String, String>> list){
    //main 부분에서 선언한 list 값을 받아서 출력해보도록 합니다.
    for(int i = 0; i < list.size(); i++){
        //arraylist 사이즈 만큼 for문을 실행합니다.
        System.out.println("list 순서 " + i + "번쨰");
        for( Entry<String, String> elem : list.get(i).entrySet() ){
            // list 각각 hashmap받아서 출력합니다.
            System.out.println( String.format("키 : %s, 값 : %s", elem.getKey(), elem.getValue()) );
        }
    }
}




5. 결과화면


총 hashmap를 세번을 생성하여서 list안에 

세번 넣어주었음으로 세번 출력이 됩니다.


그리고, HashMap과 LinkedHashMap의 차이점은

출력 순서를 보시게되면 넣는 것은 for문의 순서대로 들어가지만

출력 결과에서는 순서를 보장해주지 않습니다. 

이점 참고하시길 바랍니다.!!