Java/java
4주차 - hashmaps
우젼
2022. 9. 2. 20:02
hashMap 의 생성 예시
HashMap<Integer, String> hm = new HashMap<>();
// Integer 자료형의 키값, String 자료형의 값 의 형태를 가진 HashMap
hm.put(0, "test");
hm.put(1, "hello");
System.out.println(hm.get(0));
System.out.println(hm.get(1));
HashMap hm2 = new HashMap<>();
// 키, 값의 자료형을 지정하지 않은 HashMap
hm2.put(0, 10000);
hm2.put(1, "hello");
hm2.put("naver", "http://www.naver.com");
System.out.println(hm2.get(0));
System.out.println(hm2.get(1));
System.out.println(hm2.get("naver"));
System.out.println(hm2);
.get() : 키값을 입력하여 해당하는 값을 반환
HashMap<String, Integer> map = new HashMap<>();
map.put("선풍기", 10);
map.put("에어컨", 100);
map.put("건조기", 100);
System.out.println("선풍기 : " +map.get("선풍기") + "만원");
System.out.println("선풍기 : " +map.get("에어컨") + "만원");
System.out.println("선풍기 : " +map.get("건조기") + "만원");
System.out.println("선풍기 : " +map.get("없는키") + "만원");
.containsKey() : 괄호안의 키가 존재하는지 여부 확인
.containsValue() : 괄호안의 값이 존재하는지 여부 확인
HashMap<String, Integer> map = new HashMap<>();
Scanner sc = new Scanner(System.in);
map.put("선풍기", 10);
map.put("에어컨", 100);
map.put("건조기", 100);
System.out.print("키 입력 : ");
String key = sc.nextLine();
System.out.print("값 입력 : ");
int value = sc.nextInt();
System.out.println(map);
System.out.println(key + "키 검색 결과 :" + map.containsKey(key));
System.out.println(value + "값 검색 결과 :" + map.containsValue(value));
.keySet() : 키를 모두 반환
.values() : 값을 모두 반환
이를 이용하여 hashMap 의 키와 값을 각각 ArrayList에 저장하는 예시
HashMap<String, Integer> map = new HashMap<>();
Scanner sc = new Scanner(System.in);
map.put("선풍기", 10);
map.put("에어컨", 100);
map.put("건조기", 100);
System.out.println(map.keySet());
System.out.println(map.values());
ArrayList<String> keys = new ArrayList<>(map.keySet());
ArrayList<Integer> values = new ArrayList<>(map.values());
.iterator() : 컬렉션안의 값들을 모두 반환한다.
Scanner input = new Scanner(System.in);
HashMap<String, String> map = new HashMap<>();
map.put("선풍기", "10");
map.put("에어컨", "100");
map.put("건조기", "100");
map.put("선풍기", "1000");
Iterator<String> itk =map.keySet().iterator();
while(itk.hasNext()) {
String key = itk.next();
System.out.println(key + " : " + map.get(key));
}
Iterator<String> itv = map.values().iterator();
while(itv.hasNext()) {
String value = itv.next();
System.out.println("value : "+value);
}
.put(,) : 키에 값을 저장한다. 기존에 있던 키라면 값을 업데이트한다.
HashMap<String, String> map = new HashMap<>();
map.put("선풍기", "10");
map.put("에어컨", "100");
map.put("건조기", "100");
map.put("선풍기", "1000"); // 이미 만들어진 키를 지정하여 데이터를 입력하면 수정됨.
// 선풍기 = 10 --> 선풍기 = 1000