- hash2024년 07월 26일
- chantleman
- 작성자
- 2024.07.26.:27
HashSet
- key로 이루어짐
- key값은 중복 허용하지 않고 순서가 보장되지 않음
- set 타입의 대표 컬렉션
주요 메소드
.add(key) : 값 추가
.remove(key) : 값 삭제
.contains(key) : 포함 여부
.iterator(key) : 전체 출력을 위한 이터레이터
Set set = new HashSet(); set.add(1); set.add("가"); set.add("a"); set.add(2); Iterator it = set.iterator(); while(it.hasNext()) { System.out.println(it.next()); }
HashMap
- key와 value로 이루어짐
- key값은 중복을 허용하지 않고, 순서가 보장되지 않음
- map 타입의 대표 컬렉션
주요메소드
.put(key, value) : 데이터 입력 key값은 중복 허용 x, value값은 중복 허용
.get(key) : key값을 통해 value값을 꺼내올 수 있음
.keySet() : key로 이루어진 hashSet값을 가져옴
Map에는 key와 value가 한쌍이기때문에 generic(<>)에도 String(컬럼 이름), Integer(실제 값) 기입
만약 value의 타입이 int 하나가 아니라 여러 타입의 값들이라면 Object로 기입
Map<String, Integer> map = new HashMap(); map.put("홍길동", 95); map.put("이순신", 70); Set keySet = map.keySet(); Iterator<String> it = keySet.iterator(); while(it.hasNext()) { String key = it.next(); int value = map.get(key); System.out.println(key+", "+value); }
HashMap 은 속도가 빠르다는 특징이 있습니다.
DB는 하드디스크에, JAVA는 메모리에 데이터가 저장돼서 JAVA가 DB보다 빠른데
HashMap까지 있어서 속도가 더 빠릅니다. (그만큼 HashMap이 중요)
HashMap은 DB에 매핑된 데이터를 갖고올때도 사용됩니다.
(Map의 key값이 DB의 컬럼과 맵핑되고, value는 DB의 데이터가 돼서 데이터 갖고올 수 있습니다.)
key : 컬럼
value : 데이터
Hash Set과 비슷하지만 다른 점이 있다면
Hash Map은 value를 넣을 수 있는 공간이 있다는 점입니다. (key는 중복x, value는 중복 o)
예) 은행 계좌번호(키) 조회하면 잔액(값) 확인할 수 있음
put vs set
put은 주로 map 인터페이스 구현할 때 (키와 값의 쌍을 추가하거나 갱신할 때)
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2");
set은 주로 list 인터페이스 구현할 때 (특정 인덱스의 요소를 갱신할 때)
List<String> list = new ArrayList<>(); list.add("value1"); // 0번째 인덱스에 추가 list.add("value2"); // 1번째 인덱스에 추가 list.set(1, "newValue2"); // 1번째 인덱스를 "newValue2"로 갱신
728x90'자바' 카테고리의 다른 글
eclispe 상위 버전 (0) 2024.07.29 collection (0) 2024.07.26 date, calendar (0) 2024.07.25 try-catch, throw Exception (2) 2024.07.24 간단한 게시판 예제 (1) 2024.07.24 다음글이전글이전 글이 없습니다.댓글