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"로 갱신
'자바' 카테고리의 다른 글
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 |