[kotlin] 코틀린에서 제네릭을 사용하여 집합(Set)을 구현하는 방법은 어떻게 되는가?
아래는 제네릭을 사용하여 집합(Set)을 구현하는 예제 코드입니다.
// 제네릭을 사용하여 Set을 구현
class MySet<T> {
private val set = mutableSetOf<T>()
fun add(element: T) {
set.add(element)
}
fun remove(element: T) {
set.remove(element)
}
fun contains(element: T): Boolean {
return set.contains(element)
}
fun size(): Int {
return set.size
}
}
위의 코드에서 MySet
클래스는 제네릭을 사용하여 타입 T
에 대한 집합을 구현한 것입니다. 이제 MySet
클래스를 사용하여 다양한 타입의 집합을 생성할 수 있습니다.
예를 들어, MySet
클래스를 사용하여 정수형 집합을 생성하려면 다음과 같이 할 수 있습니다.
val intSet = MySet<Int>()
intSet.add(1)
intSet.add(2)
intSet.add(3)
println(intSet.contains(2)) // 출력: true
println(intSet.size()) // 출력: 3
intSet.remove(2)
println(intSet.contains(2)) // 출력: false
println(intSet.size()) // 출력: 2
이와 같이 제네릭을 사용하여 집합(Set)을 구현할 수 있습니다.