HashMap -> 검색이 빠르다 - Map인터페이스로 구현 키와 값의 쌍으로 저장
값 저장 방법
HashMap map = new HashMap();
map.put("he","1234");
예제
Map map =new HashMap();
map.put("first",1111);
map.put("second",2222); //데이터넣기
System.out.println(map);
Set set = map.keySet(); //키값은 set에다가 넣음
System.out.println(set); //키값만 추출함
System.out.println(map.values()); // 값들만 추출함
System.out.println(map.get("first")); //키값에 따른 value값을 추출함
System.out.println(map.getOrDefault("third","x")); //키값이 third가 없으면 x를 반환해라
map.remove("first"); //map의 원소를 삭제함
HashMap에서 Iterator
Set set2 =map.entrySet(); // 또는 map.keySet() Iteraotr는 map을 지원하지 않기 때문에 set으로 바꿔야함
Iterator it = set2.iterator();
// 키값만 출력
while(it.hasNext()) {
System.out.println(it.next());
}
//value값도 출력
while(it.hasNext()) {
Map.Entry en = (Map.Entry) it.next();
System.out.println(en.getKey());
System.out.println(en.getValue());
}
해싱 - 해시함수로 해시테이블에 데이터를 검색 저장
해시테이블은 배열과 링크드 리스트가 조합된 형태
해싱 과정
1. 데이터의 키로 해시함수를 호출해서 해시코드를 얻는다.
2. 해시코드에 대응하는 링크드리스트를 배열에서 찾는다.
3. 링크드리스트에서 키와 일치하는 데이터를 찾는다.
(배열의 위치는 해시코드 , 값찾는건 키로 , 그래서 다른 키일지라도 같은 값의 해시코드를 반환할 수도 있음)
TreeMap - 이진 검색 트리의 구조 (키와 값의 쌍)
- TreeSet처럼 데이터를 정렬해서 저장해서 저장 시간이 길다. ( 정렬이나 범위검색시 사용)
'IT 관련 > JAVA' 카테고리의 다른 글
자바 enum(열거형) , 애너테이션(어노테이션) (0) | 2022.08.23 |
---|---|
자바 지네릭스란 (0) | 2022.08.17 |
자바 HashSet , TreeSet (0) | 2022.08.11 |
자바 Arrays (0) | 2022.08.11 |
자바 Enumeration , Iterator , ListIterator (0) | 2022.08.09 |