728x90
반응형

1. 해시맵 예제

▶ 코드

		HashMap<String,Object> hong = new HashMap<String,Object>();
		HashMap<String,Object> yu = new HashMap<String,Object>();
		
		hong.put("name","홍길동");
		hong.put("age",30);
		hong.put("addr","서울");
		hong.put("phone","010-1234-5678");
		

		yu.put("name","유재석");
		yu.put("age",50);
		yu.put("addr","인천");
		yu.put("phone","010-9876-5432");
		
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		
		list.add(hong);
		list.add(yu);
		
		for(int i=0;i<list.size();i++){
			System.out.print("이름:"+list.get(i).get("name"));
			System.out.println(", 나이:"+list.get(i).get("age"));
		}
  • ArrayList와 HashMap을 혼합하여 데이터를 관리할 수 있다.

 

 

 출력 결과

이름:홍길동, 나이:30, 주소:서울, 번호:010-1234-5678
이름:유재석, 나이:50, 주소:인천, 번호:010-9876-5432

 

 

 

2. 위 예제를 응용한 문제

  • 사람을 관리하는 ArrayList<HashMap<String, Object>> 만들기

    -> 객체 명 : list
    -> 이름, 나이, 성별, 주소를 스캐너로 입력받아서 map 형태로 만든 후 리스트에 저장 (3개)
    -> 저장 후 콘솔에 '이름 : 홍길동, 나이 : 30, 성별 : 남, 주소 : 서울'
    과 같은 형태로 출력

 

 

▶ 코드

		ArrayList<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
		Scanner scan = new Scanner(System.in);
		
		for(int i=0;i<3;i++){
			HashMap<String,Object> map = new HashMap<String,Object>();
			
			System.out.print("이름을 입력하세요 >> ");
			map.put("name", scan.next());
			System.out.print("나이를 입력하세요 >> ");
			map.put("age", scan.nextInt());
			System.out.print("성별을 입력하세요(남/여) >> ");
			map.put("gender", scan.next());
			System.out.print("주소를 입력하세요 >> ");
			map.put("address", scan.next());
			System.out.println(); //줄바꿈
			
			list.add(map);

		}
		System.out.println(); //줄바꿈
		
		System.out.println("<list>");
		for(int i=0;i<list.size();i++){
			System.out.print("이름:"+list.get(i).get("name"));
			System.out.print(", 나이:"+list.get(i).get("age"));
			System.out.print(", 성별:"+list.get(i).get("gender"));
			System.out.println(", 주소:"+list.get(i).get("address"));
		}
		
		scan.close();
  • 배열 사용 없이 맵 하나만 사용하기 위해 반복문 안에 HashMap을 선언하였다. 밖에서 객체 생성을 하면 마지막 값으로만 값이 저장된다.

 

 

▶ 출력 결과

이름을 입력하세요 >> 홍길동
나이를 입력하세요 >> 30
성별을 입력하세요(남/여) >> 남
주소를 입력하세요 >> 서울

이름을 입력하세요 >> 유재석
나이를 입력하세요 >> 50
성별을 입력하세요(남/여) >> 남
주소를 입력하세요 >> 인천

이름을 입력하세요 >> 박명수
나이를 입력하세요 >> 40
성별을 입력하세요(남/여) >> 여
주소를 입력하세요 >> 경기도


<list>
이름:홍길동, 나이:30, 성별:남, 주소:서울
이름:유재석, 나이:50, 성별:남, 주소:인천
이름:박명수, 나이:40, 성별:여, 주소:경기도

 

 

 

 

 

 

 

[JAVA] ★ Vector, ArrayList, HashMap ★ (16일차)

1. 컬렉션 2. 제네릭 3. Vector 4. ArrayList 5. HashMap 3. Vector ▶ Vector 의 특징 java.util.Vector 에서 E 대신 요소로 사용할 특정 타입으로 구체화한다. 여러 객체들을 삽입, 삭제, 검색하는 컨테이너 클래스이

deliciouscode.tistory.com

 

[JAVA] 해시맵 심화 문제 풀이 (17일차)

문제1 입력 부분 -> 다음과 같이 map에 스캐너로 입력된 값 저장 -> key : name, value : 이름 (ex, 홍길동) -> key : age, value : 나이 (ex, 30) -> key : addr, value : 주소 (ex, 서울) => 해당 map을 list에 저장 삭제 부분

deliciouscode.tistory.com

 

728x90
반응형

+ Recent posts