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
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[JAVA] Iterator 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
---|---|
[JAVA] 해시맵 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
[JAVA] 인터페이스의 추상 메소드를 구현한 클래스 작성하기 (0) | 2023.06.05 |
[JAVA] 과일 예제 (업캐스팅/다운캐스팅) (0) | 2023.06.01 |
[JAVA] 심화 문제 풀이 (14일차) (0) | 2023.06.01 |