티스토리 뷰

package practice;


import java.util.Collection;

import java.util.Collections;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;


public class HashMapEx2 {


public static void main(String[] args) {

// TODO Auto-generated method stub

HashMap map = new HashMap();

map.put("김", new Integer(90));

map.put("김", new Integer(100));

map.put("이", new Integer(100));

map.put("서", new Integer(80));

map.put("정", new Integer(90));

// 해시맵 생성, 키는 중복이 될 수 없다.


Set set = map.entrySet();

//해시맵에 저장된 키와 값을 엔트리(키와 값의 결합)의

//형태로 Set에 저장해서 반환한다.

//HashMap은 Set의 자식

//이터레이터를 사용하기 위한 형변환

Iterator it = set.iterator();

// 이터레이터 생성


while (it.hasNext()) {

Map.Entry e = (Map.Entry) it.next();

System.out.println("이름 : " + e.getKey() + ", 점수 : " + e.getValue());

//이터레이터로부터 읽은 해시맵의 키와 값을 얻어와 출력한다.

//캐스팅이 필요하다.

}

set = map.keySet(); //키 셋만 반환

System.out.println("참가자 명단 : " + set);

Collection values = map.values();

//해시맵에 저장된 모든 값을 컬렉션의 형태로 반환한다.

it = values.iterator();

//값에 대한 이터레이터 생성


int total = 0;

while (it.hasNext()) {

Integer i = (Integer) it.next();

total += i.intValue();

}


System.out.println("총점 : " + total);

System.out.println("평균 : " + (float) total / set.size());

System.out.println("최고점수 : " + Collections.max(values));

}


}



결과 : 
이름 : 이, 점수 : 100
이름 : 김, 점수 : 100
이름 : 서, 점수 : 80
이름 : 정, 점수 : 90
참가자 명단 : [이, 김, 서, 정]
총점 : 370
평균 : 92.5
최고점수 : 100


'java,web study > 3주차 (7월 15일 ~21일)' 카테고리의 다른 글

HashMapEx3 - 전화번호부  (0) 2013.07.19
HashMapEx2 - 점수 계산  (0) 2013.07.19
HashMapEx1 - 로그인  (1) 2013.07.19
ComparatorEx1 - 오름차순(디폴트), 내림차순 정렬  (0) 2013.07.19
TreeSetEx1 - 문자열  (0) 2013.07.19
TreeSetLotto  (0) 2013.07.19
TAG
댓글
댓글쓰기 폼