middlemoon

Day05.HashMap 본문

Develop/JAVA

Day05.HashMap

중대경 2022. 8. 15. 22:51

package chap15;

import java.util.HashMap;
import java.util.Set;

public class HashMapTest {

public static void main(String[] args) {
// generic + 개선된 for
Employee e1 = new Employee(100, "이사원", 56000.77); //HashMap 
HashMap<String, Employee> map = new HashMap();


map.put("사원1", e1);
map.put("사원2", new Employee(200, "박사원", 56000.77));
map.put("사원3", new Employee(300, "김사원", 56000.77));
map.put("사원1", new Employee(400, "최사원", 56000.77)); //키중복은 수정효과 
map.put("사원4", e1); //값 중복 허용
//map.put(1, 2);

System.out.println("갯수 = " + map.size());

//사원 3의 정보를 출력 // 한개의 데이터를 조회(사원3에 대한)
Employee o = map.get("사원3");
System.out.println(o.name);
//if(o instanceof Employee){
// System.out.println( ((Employee)o).name);

// }
//map 모든 key 조회
Set keys = map.keySet();
for(Object k : keys) {
System.out.println("키는" + k + "이고 값은" + map.get(k));
}

}

}

 

코드리뷰 - 향상된 for문 추가 + Key, Value로 이루어진 자료구조 

e1은 객체 생성을 통해 key 사원, value 100으로 만들어주었고

밑의 사원2,3,4에 해당하는 부분은 map을 전달받아 선언을 해줌

map.size를 통해 hash map 구성의 개수를 나타내고, 향상된 for문을 통해 모든 사원의 정보의 데이터를 볼 수있도록

나타냄. 이와비슷하게 list로 나타낼수있지만 그렇게 하지 않는 이유는 ? 시간복잡도의 문제의 원인이 크다.

 

'Develop > JAVA' 카테고리의 다른 글

JAVA 객체지향 프로그래밍 I  (0) 2023.01.12
Day04.함수  (0) 2022.07.19
Day03. 배열  (0) 2022.07.18
Day02.변수  (0) 2022.07.10
Day01. 자동형변환  (0) 2022.07.08
Comments