[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문의 순서대로 들어가지만
출력 결과에서는 순서를 보장해주지 않습니다.
이점 참고하시길 바랍니다.!!
'[java]' 카테고리의 다른 글
파파고 NMT 테스트 / JSP로 해보기 (0) | 2018.10.05 |
---|---|
[java] object 통한 getClass()를 사용하여 데이터 알아내기 (0) | 2018.09.30 |
web.xml이 없는 경우 (0) | 2018.09.30 |
[java] hashmap value 값으로 key 값 찾기 (0) | 2018.09.29 |
자바(java) int[], string [] 배열 오름,내림,역순,부분 정렬 하기 (0) | 2018.06.28 |