반응형
HashMap 특징
1. Map interface를 implements 한 클래스로 중복 허용 안함
2. key, value 쌍으로 이루어지며 null 허용
3. 가장 처음 넣은 데이터가 index 0 (FIFO)
HashMap 예제1
import static java.lang.System.out;
import java.util.HashMap;
import java.util.Set;
class MapEx1 {
public static void main(String[] args) {
String[] msg = { "Berlin", "Dortmund", "Frankfurt", "Gelsenkirchen","Hamburg" };
HashMap<Integer, String> map = new HashMap<Integer, String>(); // HashMap생성<key,저장될데이터타입>
for (int i = 0; i < msg.length; i++)
map.put(i, msg[i]); // 맵에 저장
Set<Integer> keys = map.keySet(); // map에 저장된 key들을 호출
for (Integer n : keys)
out.println(map.get(n)); // 맵에서 읽어오기
}
}
결과
Berlin
Dortmund
Frankfurt
Gelsenkirchen
Hamburg
HashMap 예제2
import java.util.*;
class HashMapEx2 {
public static void main(String[] args){
HashMap<String,Integer> map = new HashMap<String,Integer>();
//map.put(key타입,값타입) key가 같고 값이 다를경우 이후에 들어오는 값이 덧씌워진다.
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();
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));
System.out.println("최저점수 : " + Collections.min(values));
}
}
결과
이름 : 강자바, 점수 : 80
이름 : 이자바, 점수 : 100
이름 : 김자바, 점수 : 100
이름 : 안자바, 점수 : 90
참가자 명단 : [강자바, 이자바, 김자바, 안자바]
총점 : 370
평균 : 92.5
최고점수 : 100
최저점수 : 80
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Calendar, Date, SimpleDateFormat 날짜 호출 (0) | 2019.11.12 |
---|---|
[JAVA] ArrayList (0) | 2019.11.12 |
[JAVA] Autoboxing / Unboxing 개념 (0) | 2019.11.12 |
[JAVA] 래퍼 클래스(Wrapper Class) (0) | 2019.11.12 |
[JAVA] 추상클래스와 인터페이스 차이 (0) | 2019.11.12 |