[Java] Set

hameeeΒ·2023λ…„ 10μ›” 19일
1

Java

λͺ©λ‘ 보기
22/26
post-thumbnail

πŸ“ Set νŠΉμ§•

  • μˆœμ„œκ°€ μ—†λ‹€.
  • μ€‘λ³΅λœ 값을 μ €μž₯ν•  수 μ—†λ‹€.
  • μΈλ±μŠ€κ°€ μ—†λ‹€.

πŸ“ Set 생성

  • 빈 Set λ§Œλ“œλŠ” 방법: new HashSet()
  • 초기 μš”μ†Œλ₯Ό ν¬ν•¨ν•œ Set λ§Œλ“œλŠ” 방법: new HashSet(μ½œλ ‰μ…˜)
package lesson09;

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

public class Ex01 {

	public static void main(String[] args) {
		
        // 빈 Set λ§Œλ“œλŠ” 방법
		Set<Integer> set1 = new HashSet<>();
		System.out.println(set1); // []
		
        // 초기 μš”μ†Œκ°€ ν¬ν•¨ν•œ Set λ§Œλ“œλŠ” 방법
		Set<Integer> set2 = new HashSet<>(List.of(30, 30, 20, 10));
		System.out.println(set2); // [20, 10, 30]
	}

}

πŸ“ μΆ”κ°€/μ‚­μ œ/μˆ˜μ •/읽기

ListSetMap
μΆ”κ°€add(), addAll()add(), addAll()put(), putAll()
μ‚­μ œremove(), removeAll(), clear()remove(), removeAll(), clear()remove(), keySet().removeAll(), values().removeAll(), clear()
μˆ˜μ •set()μš”μ†Œ μ‚­μ œ ν›„ μΆ”κ°€λ™μΌν•œ key둜 λ‹€μ‹œ μΆ”κ°€
읽기get()반볡문(Iterator, ν–₯μƒλœ forλ¬Έ) μ‚¬μš©get()
  • μΆ”κ°€: add(), addAll()
  • μ‚­μ œ: remove(), removeAll(), clear()
  • μˆ˜μ •: μš”μ†Œ μ‚­μ œ ν›„ μΆ”κ°€
  • 읽기: 반볡문(Iterator, ν–₯μƒλœ forλ¬Έ) μ‚¬μš©

μΈλ±μŠ€κ°€ μ—†μœΌλ―€λ‘œ

  • 인덱슀둜 μ ‘κ·Όν•˜μ—¬ νŠΉμ • μš”μ†Œλ₯Ό μˆ˜μ •ν•  수 μ—†λ‹€.
  • 인덱슀둜 μ ‘κ·Όν•˜μ—¬ νŠΉμ • μš”μ†Œλ₯Ό 읽을 수 μ—†λ‹€.
  • for문을 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
package lesson09;

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

public class Ex01 {

	public static void main(String[] args) {

		Set<Integer> set1 = new HashSet<>();
		Set<Integer> set2 = new HashSet<>(List.of(30, 30, 20, 10));

		// 🚩 1. μΆ”κ°€
		// ν•˜λ‚˜ μΆ”κ°€
		set1.add(1); 
		set1.add(2);
		set1.add(3);
		set1.add(3);
		System.out.println(set1); // [1, 2, 3]

		// μ—¬λŸ¬ 개 μΆ”κ°€(합집합)
		set1.addAll(set2); 
		System.out.println(set1); // [1, 2, 3, 20, 10, 30]


		// 🚩 2. μ‚­μ œ
		// ν•˜λ‚˜ μ‚­μ œ
		set1.remove(1); 
		System.out.println(set1); // [2, 3, 20, 10, 30]

		// μ—¬λŸ¬ 개 μ‚­μ œ(차집합)
		set1.removeAll(set2);
		System.out.println(set1); // [2, 3]
		
		// 전체 μ‚­μ œ
		set1.clear(); 
		System.out.println(set1); // []

		
		// 🚩 3. μˆ˜μ • - μ‚­μ œ ν›„ μΆ”κ°€
		System.out.println(set2); // [20, 10, 30]
		set2.remove(30);
		set2.add(40);
		System.out.println(set2); // [20, 40, 10]


		// 🚩 4. 읽기 - 반볡문 μ‚¬μš©(Iterator, ν–₯μƒλœ forλ¬Έ)
		// Iterator
		Iterator<Integer> iter = set2.iterator();
		while(iter.hasNext()) {
			Integer element = iter.next();
			System.out.print(element + " ");
		}

		System.out.println();

		// ν–₯μƒλœ forλ¬Έ
		for(Integer element : set2) {
			System.out.print(element + " ");
		}

	}

}

πŸ“ Set μΈν„°νŽ˜μ΄μŠ€ λ©”μ†Œλ“œ

λ©”μ†Œλ“œλͺ…μ„€λͺ…λ°˜ν™˜κ°’
retainAll(μ½œλ ‰μ…˜)두 μ½œλ ‰μ…˜μ—μ„œ 같은 κ²ƒλ§Œ 남긴닀.boolean(μ„±κ³΅ν•œμ§€ μ—¬λΆ€)
contains(κ°’)λ¦¬μŠ€νŠΈμ— 값이 λ“€μ–΄μžˆλŠ”μ§€ 확인boolean
isEmpty()λ¦¬μŠ€νŠΈκ°€ λΉ„μ–΄μžˆλŠ”μ§€ 확인boolean
size()Set의 크기int
toString()Set의 λͺ¨λ“  μš”μ†Œλ₯Ό [κ°’, κ°’...]의 λ¬Έμžμ—΄ ν˜•νƒœλ‘œ λ°˜ν™˜String

References

πŸ”— https://hahahoho5915.tistory.com/35

0개의 λŒ“κΈ€