Hashset
import java.util.HashSet;
public class _06_HashSet {
public static void main(String[] args) {
// 세트
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());
// 순회
for (String s : set) {
System.out.println(s);
}
System.out.println("------------------");
// 확인
if (set.contains("삼겹살")) {
System.out.println("삼겹살 사러 출발");
}
System.out.println("------------------");
// 삭제
System.out.println("총 구매 상품 수 (삼겹살 구매 전) : " + set.size()); // 7
set.remove("삼겹살");
System.out.println("총 구매 상품 수 (삼겹살 구매 후) : " + set.size()); // 6
System.out.println("------------------");
// 전체 삭제
set.clear();
if (set.isEmpty()) {
System.out.println("남은 구매 상품 수 : " + set.size());
System.out.println("집으로 출발");
}
System.out.println("------------------");
// 세트 : 중복 허용 X, 순서 보장 X
HashSet<Integer> intSet = new HashSet<>(); // HashSet이 아닌 LinkedHashSet 을 쓰면 순서는 보장
intSet.add(1);
intSet.add(13);
intSet.add(2);
for (int i : intSet) {
System.out.println(i);
}
}
}
HashMap
import java.util.HashMap;
public class _07_HashMap {
public static void main(String[] args) {
// 맵 (Key, Value)
HashMap<String, Integer> map = new HashMap<>();
// 데이터 추가
map.put("유재석", 10);
map.put("박명수", 5);
map.put("김종국", 3);
map.put("서장훈", 15);
System.out.println("총 고객 수 : " + map.size());
System.out.println("----------------------");
// 조회
System.out.println("유재석님의 포인트 : " + map.get("유재석"));
System.out.println("박명수님의 포인트 : " + map.get("박명수"));
System.out.println("----------------------");
// 확인
if (map.containsKey("서장훈")) {
int point = map.get("서장훈");
map.put("서장훈", ++point);
System.out.println("서장훈님의 누적 포인트 : " + map.get("서장훈"));
} else {
map.put("서장훈", 1);
System.out.println("서장훈님 신규 등록 (포인트 1)");
}
System.out.println("----------------------");
// 삭제
map.remove("유재석");
System.out.println(map.get("유재석"));
System.out.println("----------------------");
// 전체 삭제
map.clear();
if (map.isEmpty()) {
System.out.println("남은 고객 수 : " + map.size());
System.out.println("가게 접자");
}
System.out.println("----------------------");
// 다시 고객들이 막 찾아옴
map.put("유재석", 10);
map.put("박명수", 5);
map.put("김종국", 3);
map.put("서장훈", 15);
// Key 확인
for (String key : map.keySet()) {
System.out.println(key); // HashMap 또한 순서와 중복이 보장되지 않는다
}
System.out.println("----------------------");
// Value 확인
for (int value : map.values()) {
System.out.println(value);
}
System.out.println("----------------------");
// Key & Value 함께 확인
for (String key : map.keySet()) {
System.out.println("고객 이름 : " + key + "\t포인트 : " + map.get(key));
}
System.out.println("----------------------");
// 맵 : 중복 X, 순서 X
map.put("김종국", 10);
map.put("김종국", 30);
map.put("김종국", 50);
for (String key : map.keySet()) {
System.out.println("고객 이름 : " + key + "\t포인트 : " + map.get(key));
}
System.out.println("----------------------");
}
}
Iterator
import java.util.*;
public class _08_Iterator {
public static void main(String[] args) {
// 이터레이터
List<String> list = new ArrayList<>();
list.add("유재석");
list.add("(알 수 없음)");
list.add("김종국");
list.add("(알 수 없음)");
list.add("강호동");
list.add("(알 수 없음)");
list.add("박명수");
list.add("(알 수 없음)");
list.add("조세호");
for (String s : list) {
System.out.println(s);
}
System.out.println("------------------------");
Iterator<String> it = list.iterator();
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());
System.out.println("------------------------");
it = list.iterator(); // 커서를 처음 위치로 이동
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("------------------------");
it = list.iterator();
while (it.hasNext()) {
String s = it.next();
if (s.contains("(알 수 없음)")) {
it.remove(); // 삭제
}
}
it = list.iterator(); // 커서를 처음 위치로 이동
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("------------------------");
HashSet<String> set = new HashSet<>();
set.add("유재석");
set.add("박명수");
Iterator<String> itSet = set.iterator();
while (itSet.hasNext()) {
System.out.println(itSet.next());
}
System.out.println("------------------------");
HashMap<String, Integer> map = new HashMap<>();
map.put("유재석", 10);
map.put("박명수", 5);
// map.iterator() // 제공되지 않음
Iterator<String> itMapKey = map.keySet().iterator();
while (itMapKey.hasNext()) {
System.out.println(itMapKey.next());
}
System.out.println("------------------------");
Iterator<Integer> itMapValue = map.values().iterator();
while (itMapValue.hasNext()) {
System.out.println(itMapValue.next());
}
System.out.println("------------------------");
Iterator<Map.Entry<String, Integer>> itMap = map.entrySet().iterator();
while (itMap.hasNext()) {
System.out.println(itMap.next());
}
}
}
'인강 보습 (인프런,유데미,패스트캠퍼스) > 나도코딩의 자바 기본편' 카테고리의 다른 글
익명 클래스, 람다와 스트림 - (2) 함수형 인터페이스, 스트림 (0) | 2023.01.19 |
---|---|
익명 클래스, 람다와 스트림 - (1) 익명클래스, 람다 (0) | 2023.01.19 |
제네릭스 (2) - Wrapper 클래스, ArrayList, LinkedList (0) | 2023.01.18 |
제네릭스 - (1) (0) | 2023.01.18 |
추상 클래스와 인터페이스 (0) | 2023.01.17 |