kotlin의 Set 집합 클래스
7329 단어 Android
변경 불가 셋.가변 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.