기초JAVA 21강 - HashMap

Whatever·2021년 10월 8일
0

기초 JAVA

목록 보기
21/26

Hash Map
Object put(Object key, Object Value) : 지정된 키와 값을 저장한다.
Object remove(Object key) : 지정된 키로 저장된 값을 제거한다.
Object get(Object key) : 지정된 키의 값(없으면 null)을 반환한다.
Set KeySet() : 저장된 모든 키를 Set으로 변환한다.

HashMap<String, Object> map = new HashMap<String, Object>();
//키와 값 두 가지를 가지기 때문에 키,값 두개의 제네릭을 지정
//값의 타입을 아무거나 저장하고 싶을 때 Object를 자주 사용
map.put("age", 10);
map.put("name", "홍길동");
map.put("date", new Date()); //키에 이름을 지어주면 타입도 예상가능

	System.out.println(map); //우리가 저장한 순서대로 출력되지 않음.
	
	map.put("name", "이순신"); 
        //같은 키를 입력하면 기존의 값을 수정해준다.(하나의 키에 하나의 값만 저장 가능)
	
	System.out.println(map);
	
	map.remove("age");//키로 저장된 값을 삭제 가능
	
	System.out.println(map);
	
	Object value = map.get("name"); 
        //키를 입력하면 키에 저장된 값을 반환(우리가 제네릭에 저장한 값의 타입을 반환)
	System.out.println(value);
	
	System.out.println(((String)value).substring(0, 1)); //value만 형변환 하는 것
	
	String str = (String)map.get("name");
	//내가 만들지 않으면 무슨 키가 들어있는지 모름
	
	Set<String> keys = map.keySet(); 
        //키를 String으로 지정했기 때문에 Set의 제네릭이 String으로 나옴
	
	for(String key : keys) {//향상된 for문 - : 뒤에 배열, ArrayList, Set이 옴
        / : 앞에는 변수가 오는데 뒤에서 꺼냈을 때 저장할 변수임
		//keys에서 값을 하나 꺼내서 key라는 변수에 저장하고 실행
		System.out.println(key + " : " + map.get(key));
	}
	//Map은 주로 테이블 구조를 표현할 때 사용
	//HashMap은 행 한 줄을 표현할 수 있다 - 컬럼명 : key, 해당 값 : 값
	//테이블 전체를 표현하려면 ArrayList 안에 HashMap을 저장
	
	//JOBS 테이블
	HashMap<String, Object> job = new HashMap<String, Object>();
	job.put("JOB_ID", "AD_PRES");//HashMap에 행을 저장
	job.put("JOB_TITLE", "President");
	job.put("MIN_SALARY", 20000);
	job.put("MAX_SALARY", 40000);
	//행 한 줄을 HashMap에 저장
	
	ArrayList<HashMap<String, Object>> jobs = new ArrayList<HashMap<String, Object>>();
	jobs.add(job); //jobs테이블에 한 행이 저장됨
	
	job = new HashMap<>();
	job.put("JOB_ID", "AD_VP");
	job.put("JOB TITLE", "Administration Vice President");
	job.put("MIN_SALARY", 15000);
	job.put("MAX_SALARY", 30000);
	
	jobs.add(job); //jobs테이블에 총 두 행을 저장
	
	System.out.println(jobs);
	
	HashMap<String, Object> lprod = new HashMap<String, Object>();
	ArrayList<HashMap<String, Object>> lprods = new ArrayList<HashMap<String, Object>>();
	
	lprod.put("LPROD_ID", 1);
	lprod.put("LPROD_GU", "p101");
	lprod.put("LPROD_NM", "컴퓨터제품");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 2);
	lprod.put("LPROD_GU", "p102");
	lprod.put("LPROD_NM", "전자제품");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 3);
	lprod.put("LPROD_GU", "p201");
	lprod.put("LPROD_NM", "여성캐주얼");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 4);
	lprod.put("LPROD_GU", "p202");
	lprod.put("LPROD_NM", "남성캐주얼");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 5);
	lprod.put("LPROD_GU", "p301");
	lprod.put("LPROD_NM", "피혁잡화");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 6);
	lprod.put("LPROD_GU", "p302");
	lprod.put("LPROD_NM", "화장품");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 7);
	lprod.put("LPROD_GU", "p401");
	lprod.put("LPROD_NM", "음반/CD");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 8);
	lprod.put("LPROD_GU", "P402");
	lprod.put("LPROD_NM", "도서");
	
	lprods.add(lprod);
	
	lprod = new HashMap<>();
	
	lprod.put("LPROD_ID", 9);
	lprod.put("LPROD_GU", "P403");
	lprod.put("LPROD_NM", "문구류");
	
	lprods.add(lprod);
	
	System.out.println(lprods);
	
	//테이블모양으로 출력하기
	System.out.println("LPROD_ID\tLPROD_GU\tLPROD_NM");
	for(int i = 0; i< lprods.size(); i++) {
			System.out.print("\t" + lprods.get(i).get("LPROD_ID"));
			System.out.print("\t" + lprods.get(i).get("LPROD_GU"));
			System.out.print("\t" + lprods.get(i).get("LPROD_NM"));
			System.out.println();
			
		}
		
	}
	

0개의 댓글

관련 채용 정보