kotlin의 Set 집합 클래스

7329 단어 Android
Kotlin의 Set도 다음과 같습니다.
변경 불가 셋.가변 Mutable Set(추가 및 삭제 지원)
변경 불가 Set 역시 Collection 을 상속합니다.Mutable Set 인터페이스는 Set, Mutable Collection을 계승하고 Set을 확장하며 요소에 대한 추가와 삭제 등의 작업을 추가합니다.
Set, MutableSet 소스:
//    Set
public interface Set : Collection {
    // Query Operations
    override val size: Int

    override fun isEmpty(): Boolean
    override fun contains(element: @UnsafeVariance E): Boolean
    override fun iterator(): Iterator

    // Bulk Operations
    override fun containsAll(elements: Collection): Boolean
}

//   MutableSet
public interface MutableSet : Set, MutableCollection {
    // Query Operations
    override fun iterator(): MutableIterator

    // Modification Operations
    override fun add(element: E): Boolean

    override fun remove(element: E): Boolean

    // Bulk Modification Operations
    override fun addAll(elements: Collection): Boolean

    override fun removeAll(elements: Collection): Boolean
    override fun retainAll(elements: Collection): Boolean
    override fun clear(): Unit
}

불변 Set 생성
val mSet = setOf(1, 8, 2, 9, 1, 4, 7, 9, 0, 0, 8)
println(mSet)

Set 컬렉션의 요소는 중복될 수 없으므로 인쇄된 출력은 다음과 같습니다.
[1, 8, 2, 9, 4, 7, 0]
가변 MutableSet 생성
val mSet = mutableSetOf(1, 8, 2, 9, 1, 4, 7, 9, 0, 0, 8)
println("=========  MutableSet=========")
println(mSet)
println("=======MutableSet    ========")
mSet.add(3)
mSet.add(5)
println(mSet)
println("=======MutableSet    ========")
mSet.remove(0)
println(mSet)
println("=======           =======")
println(mSet.max())
println(mSet.min())

출력 출력:
=========  MutableSet==========  
[1, 8, 2, 9, 4, 7, 0]  
=======MutableSet    ========  
[1, 8, 2, 9, 4, 7, 0, 3, 5]  
=======MutableSet    ========  
[1, 8, 2, 9, 4, 7, 3, 5]  
======           ======  
9    
1    

Set 스트리밍
forEach 스트리밍
val mSet = mutableSetOf(1, 8, 2, 9, 1, 4, 7, 9, 0, 0, 8)
mSet.forEach {
    println(it)
}

출력 출력:
1 8 2 9 4 7 0
널리 퍼지다
val mSet = mutableSetOf(1, 8, 2, 9, 1, 4, 7, 9, 0, 0, 8)
for (number in mSet){
    println(number)
}

출력 출력:
1 8 2 9 4 7 0
iterator 스트리밍
val mSet = mutableSetOf(1, 8, 2, 9, 1, 4, 7, 9, 0, 0, 8)
val mIterator = mSet.iterator()
if (!mIterator.hasNext()) return
while (mIterator.hasNext()){
    println(mIterator.next())
}

출력 출력:
1 8 2 9 4 7 0

좋은 웹페이지 즐겨찾기