[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문의 순서대로 들어가지만

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

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


블로그 이미지

미나미나미

,