IT/Java

자바 list안에 map 객체 넣기

노마드오브 2018. 8. 6. 23:22

package java0806;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Set;


public class Test2 {


public static void main(String[] args) {

// list 준비

List<Map<String, Object>> list = null;

list = new ArrayList<>();

// map 객체생성 후 학생1명 정보 저장

Map<String, Object> map = null;

map = new HashMap<>();

map.put("name", "황기태");

map.put("department", "모바일");

map.put("id", "1");

map.put("grade", 4.1);

// list에 학생정보 map을 추가

list.add(map);


// map 객체생성 후 두번째 학생정보 저장

map = new HashMap<>();

map.put("name", "이재문");

map.put("department", "안드로이드");

map.put("id", "2");

map.put("grade", 3.9);


// list에 학생정보 map을 추가

list.add(map);

// list의 전체요소 출력

for (int i=0; i<list.size(); i++) {

Map<String, Object> m = list.get(i);

// String name = (String) m.get("name");

System.out.println(m.get("name"));

System.out.println(m.get("department"));

System.out.println(m.get("id"));

System.out.println(m.get("grade") + "\n");

}

System.out.println("-------------------");

for (Map<String, Object> m : list) {

System.out.println(m.get("name"));

System.out.println(m.get("department"));

System.out.println(m.get("id"));

System.out.println(m.get("grade") + "\n");

}


System.out.println("-------------------");

Iterator<Map<String, Object>> it = list.iterator();

while (it.hasNext()) {

Map<String, Object> m = it.next();

Set<String> set = m.keySet();  // 키 전체 가져오기

Iterator<String> keyIt = set.iterator();

while (keyIt.hasNext()) {

String key = keyIt.next();  // 키를 꺼내서

System.out.println(m.get(key));  // 키와 매칭되는 값 가져오기

}

System.out.println();


// 존재하지 않는 키로 가져오기하면 null을 리턴함

if (map.get("cat") == null) {

System.out.println("null 입니다.");

}

}

} // main()


}