반응형
HashSet
중복된 원소를 허용하지 않고, 순서를 보장하지 않는 집합을 구현하는 클래스입니다.
HashSet 특징
- 중복된 원소 사용하지 않습니다.
- 순서를 보장하지 않습니다.
- 빠른 검색과 삽입이 가능합니다.
public class HashSet {
public static void main(String[] args) {
//세트 - 중복 허용 x
// HashSet 사용시 순서도 보장 되지 않고 중복도 허용되지 xx
HashSet<String> set = new HashSet<>();
//데이터 추가
set.add("삼겹살");
set.add("쌈장");
set.add("음료");
set.add("소금");
set.add("후추");
set.add("깻잎");
set.add("삼겹살");
set.add("상추");
set.add("삼겹살");
System.out.println("총 구매 상품 수 : " + set.size());
}
}
// 결과값 : 7
HashMap
키-값을 저장하고 검색하는데 사용되며 데이터 구조를 기반으로 키와 값을 저장함으로써 데이터를 관리합니다.
HashMap 특징
- 키-값 쌍으로 저장 가능합니다. 각각의 키는 유일해야 하며, 각 키는 하나의 값과 연결됩니다.
- 각 키는 유일해야 하기 때문에 중복된 키를 허용하지 한고 동일한 키로 값을 덮어쓰게 됩니다.
- HashMap은 하나의 null키로 허용하고, 여러 개의 null 값을 허용합니다.
public class HashMap {
public static void main(String[] args) {
// 맵 (Key, Value) //HashMap이 아닌 LinkedHashMap 사용 시 순서, 키값 기준으로 순서를 보장!
HashMap<String, Integer> map = new HashMap<>();
// 데이터 추가
map.put("Java", 10);
map.put("Spring", 5);
map.put("Node", 3);
map.put("Python", 15);
System.out.println("총 고객 수 : " + map.size());
System.out.println("Java 포인트 정보 : " + map.get("Java"));
System.out.println("Spring 포인트 정보 : " + map.get("Spring"));
// 확인
if (map.containsKey("Node")) {
int point = map.get("Node");
map.put("Node" , ++point);
System.out.println("Node 누정 포인트 : " +map.get("Node"));
} else {
map.put("Node", 1);
System.out.println("Node 신규 등록 (포인트1)");
}
// 삭제
map.remove("Java");
System.out.println(map.get("Java")); // 키 값이 없을때 Null출력
// 전체 삭제
map.clear();
HashSet, HashMap 사용 방법
기본 생성자 사용
import java.util.HashSet;
HashSet<String> s = new HashSet<>(); // set
import java.util.HashMap;
HashMap<String, Integer> map = new HashMap<>();// map
메서드 종류
데이터 추가
set.add("소주") // set
map.put("맥주") // map
데이터 삭제
set.remove("치킨") // set
map.remove("치킨") // map
모든 요소 제거
set.clear(); // set
map.clear(); // map
728x90
'JAVA' 카테고리의 다른 글
Static 사용? (0) | 2023.10.27 |
---|---|
Generics (1) | 2023.10.22 |
Super (0) | 2023.10.21 |