반응형
HashMap ( Iterator를 이용해 데이터 가져오기 )
import java.util.HashMap;
import java.util.Iterator;
public class MapTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// map은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐
// 가장 중요한 HashMap
// ArrayList는 String이면 String 하나 객체면 객체하나였지만
// HashMap은 파이썬의 딕셔너리와 비슷하므로 key와 value를 적어줘야 한다.
// 즉 아래의 뜻은 key = String, value = String 이라는 뜻
HashMap<String, String> map = new HashMap<String, String>();
// 데이터 추가
map.put("model", "iPhone 12");
map.put("year", "2021");
map.put("color", "red");
// 데이터 Accessing
// 데이터는 key값으로 가져온다.
System.out.println(map.get("color") );
System.out.println("--------------------------------");
// key만 가져올때
// Object는 최상위 클래스를 말한다.
Object[] keys = map.keySet().toArray();
for(int i = 0 ; i < keys.length ; i++) {
System.out.println((String)keys[i]);
}
System.out.println("--------------------------------");
// value만 가져올때
// Object는 최상위 클래스를 말한다.
Object[] values = map.values().toArray();
for(int i = 0 ; i < values.length ; i++) {
System.out.println((String)values[i]);
}
System.out.println("--------------------------------");
// HashMap에 저장된 key 삭제
// 파이썬의 딕셔너리 데이터 삭제와 같다.
map.remove("year");
// Iterator를 이용해 전체 데이터를 가져오는 방법
// 키를 가져오는 방법
Iterator<String> keyIter = map.keySet().iterator();
// hasNext는 불린타입 있으면 true 없으면 false
while(keyIter.hasNext()) {
String key = keyIter.next();
String value = map.get(key);
System.out.println("key : " + key + ", value : " + value);
}
System.out.println("--------------------------------");
// 데이터 하나 access
System.out.println( map.get("model") );
System.out.println("--------------------------------");
// 데이터 전체 삭제
map.clear();
System.out.println(map.size());
}
}

반응형
'Language > JAVA' 카테고리의 다른 글
| JAVA - 예외처리(Try Catch Finally) (0) | 2022.07.07 |
|---|---|
| JAVA - ArrayList (0) | 2022.07.06 |
| JAVA - String Func (0) | 2022.07.06 |
| JAVA - Interface (0) | 2022.07.06 |
| JAVA - Abstract (추상클래스) (0) | 2022.07.06 |