// SetBehavior.kt(Setのふるまい)
fun main() {
println("MutableSetは、値を重複させない")
val setBehavior = mutableSetOf("a", "b", "c")
setBehavior.add("d")
setBehavior.add("e")
setBehavior.add("d")
setBehavior.add("d")
println(setBehavior)
println("MutableListは、値を重複させる")
val listBehavior = mutableListOf("a", "b", "c")
listBehavior.add("d")
listBehavior.add("e")
listBehavior.add("d")
listBehavior.add("d")
println(listBehavior)
println("classタイプでも、重複させない?")
class Car(val color: String)
val car1: Car = Car("red")
val car2: Car = Car("red")
val car3: Car = Car("blue")
val setBehavior2: MutableSet<Car> = mutableSetOf(car1, car2, car3)
setBehavior2.add(car1)
setBehavior2.add(car1)
setBehavior2.add(car2)
setBehavior2.add(car2)
setBehavior2.add(car3)
println(setBehavior2)
println("car1==car2: ${car1 == car2}")
}
/*
MutableSetは、値を重複させない
[a, b, c, d, e]
MutableListは、値を重複させる
[a, b, c, d, e, d, d]
classタイプでも、重複させない?
[SetBehaviorKt$main$Car@90f6bfd, SetBehaviorKt$main$Car@47f6473, SetBehaviorKt$main$Car@15975490]
car1==car2: false
*/