KakaoTalk_20220602_102058071_01.jpg

2.구현 클래스

  1. HashSet

순서가 필요없는 데이터를 hash table에 저장 한다.

Set 중에 가장 성능이 좋다.

기본 예제

package collection.set;

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class Set01 {

	public static void main(String[] args) {
		// 자료구조(자재) 
		//2.Set
		//1)객체 생성
		Set set1 = new HashSet();
		Set set2 = new TreeSet();
		Set set3 = new LinkedHashSet();
		
		//2)제네릭스를 이용한 객체 생성

		Set<String> set4 = new HashSet<String>();
		Set<String> set5 = new TreeSet<String>();
		Set<String> set6 = new LinkedHashSet<String>();

	}

}
package com.java.datastruct01.collection.set;

import java.util.HashSet;
import java.util.Set;

public class Set03 {

	public static void main(String[] args) {
		// Set 객체생성

		// 1.객체 생성
		Set<String> set = new HashSet<>();

		// 2.데이터 추가 (a,b,c,d)
		set.add("a");
		set.add("b");
		set.add("c");
		set.add("d");

		// 3.데이터 수정
		// 그런거 없음 :중복을 허용하지 않기 때문
		// 중복된 값을 수정 할 수 있기 때문

		// 4.데이터 삭제
		set.remove("a");
		set.remove("b");

		set.add("a");

		// 5.데이터 포함 여부
		boolean b1 = set.contains("a");
		if (b1)
			System.out.println("a의 값은 포함 되어 있습니다.");
		else
			System.out.println("a의 값은 포함 되어 있지 않습니다.");

	}

}

package com.java.datastruct01.collection.set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Set02 {

	public static void main(String[] args) {
		// Collection > SET(집합,순서 없고, 중복 못함) > 기본 메서드

		Set<String> set = new HashSet<>();
		System.out.println("객체정보" + set); // []

		// 2.데이터 추가 (a,b,c,d)
		set.add("a");
		set.add("b");
		set.add("c");
		set.add("d");

		System.out.println("객체정보" + set);

		set.add("a");
		System.out.println("객체정보" + set);

		// 3.데이터 출력
		// 3.1 for 문을 이용해서 출력(index 이용)
		Object[] arr = set.toArray();
		for (int i = 0; i < arr.length; i++) {
			String st = (String) (arr[i]);
			System.out.print(st + " ");
		}

		System.out.println();
		// String 생성자를 통한 문자열 배열 생성
		String[] arr2 = new String[set.size()];
		for (int i = 0; i < arr2.length; i++) {
			String[] st = set.toArray(arr2);
			System.out.print(st[i] + " ");
		}

		System.out.println();
		// String [] arr2 = new String[set.size()];
		for (int i = 0; i < arr2.length; i++) {
			String[] st = set.toArray(new String[set.size()]);
			System.out.print(st[i] + " ");
		}

		System.out.println();
		for (int i = 0; i < arr2.length; i++) {
			// String [] st =set.toArray(new String[set.size()]);
			System.out.print((String) (set.toArray(arr2))[i]);
		}

		System.out.println();

		// 3.2 enhanced for
		for (String data : set)
			System.out.println(data);
		System.out.println();
	// 3.3 iterator
		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}

	
		System.out.println();
		// 3.4 forEach
		set.forEach(in -> System.out.println(in));
		System.out.println();
		set.forEach(System.out::print);
	}

}