- Kotlin环境设置(命令行)
- Kotlin Hello World程序(命令行)
- Kotlin程序概念解释
- Kotlin开发环境设置(IDE)
- Kotlin第一个程序(IDE)
- Kotlin变量
- Kotlin数据类型
- Kotlin类型转换
- Kotlin运算符
- Kotlin表达式、语句和块
- Kotlin标准输入/输出
- Kotlin注释
- 控制流程
- 函数
- 数组
- 字符串
- 异常处理
- 空安全
- 集合
- 注解
- 反射
- Kotlin OOP
- 范围
- Java互操作性
- 正则表达式
Kotlin MutableSet接口
Kotlin MutableSet
接口是一个通用的无序元素集合。 MutableSet
接口不支持重复元素。 此接口是可变的,因此其方法支持读写功能,也支持添加和删除元素。
Set接口使用mutableSetOf()
函数创建包含元素列表的set接口对象。
MutableSet接口声明
interface MutableSet<E> : Set<E>, MutableCollection<E> (source)
MutableSet接口继承的属性
属性 | 描述 |
---|---|
abstract fun add(element: E): Boolean |
它将给定元素添加到集合中。 |
abstract fun addAll(elements: Collection<E>): Boolean |
它将给定集合的所有元素添加到当前集合中。 |
abstract fun clear() |
它将删除此集合中的所有元素。 |
abstract fun iterator(): MutableIterator<E> |
它返回此对象元素的迭代器。 |
abstract fun remove(element: E): Boolean |
如果指定元素存在于集合中,将从此集合中删除单个指定元素。 |
abstract fun removeAll(elements: Collection<E>): Boolean |
它会删除集合中指定的当前集合中的所有元素。 |
abstract fun retainAll(elements: Collection<E>): Boolean |
它仅保留当前集合中存在于指定集合中的那些元素。 |
abstract fun contains(element: E): Boolean |
它检查当前集合中是否包含的指定元素。 |
abstract fun containsAll(elements: Collection<E>): Boolean |
它检查当前集合中是否存在指定集合的所有元素。 |
abstract fun isEmpty(): Boolean |
如果集合为空(不包含任何元素),则返回true ,否则返回false 。 |
fun <T> Iterable<T>.any(): Boolean |
如果集合包含至少一个元素,则返回true 。 |
fun <T> Iterable<T>.any(predicate: (T) -> Boolean): Boolean |
如果至少元素与给定的谓词匹配,则返回true 。 |
fun <T> Iterable<T>.distinct(): List<T> |
它返回一个列表,其中只包含给定集合中的不同元素。 |
fun <T> Iterable<T>.drop(n: Int): List<T> |
它返回一个列表,其中包含除前n 个元素之外的所有元素。 |
fun <T> Iterable<T>.elementAt(index: Int): T |
它返回给定索引处的元素,或者如果集合中不存在给定索引则抛出IndexOutOfBoundException 。 |
fun <T> Iterable<T>.elementAtOrElse(index: Int, defaultValue: (Int) -> T): T |
如果索引在当前集合中超出范围,它将返回给定索引处的元素或调用defaultValue 函数的结果。 |
fun <T : Comparable<T>> Iterable<T>.max(): T? |
它返回最大的元素,如果集合中没有元素,则返回null 。 |
fun <T : Comparable<T>> Iterable<T>.min(): T? |
它返回最小的元素,如果集合中没有元素,则返回null 。 |
fun <T> MutableCollection<out T>.remove(element: T): Boolean |
如果它存在于当前集合中,它将删除单个指定元素。 |
fun <T> MutableCollection<out T>.removeAll(elements: Collection<T>): Boolean |
它删除了包含在指定集合中的当前集合的所有元素。 |
fun <T> MutableCollection<out T>.retainAll(elements: Collection<T>): Boolean |
它保留当前集合中包含在指定集合中的所有元素。 |
fun <T> Iterable<T>.reversed(): List<T> |
它以相反的顺序返回元素。 |
Kotlin MutableSet接口示例1
下面创建一个MutableSet,并遍历元素的示例。
fun main(args: Array<String>) { val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) val anymutableSet: Set<Any> = setOf(2, 6, 4, 29, 4, 5, "Ajax", "Susen", "Ajax") println("....intmutableSet....") for(element in intmutableSet){ println(element) } println("....anymutableSet......") for(element in anymutableSet){ println(element) } }
执行上面示例代码,得到以下结果 -
....intmutableSet.... 2 6 4 29 5 ....anymutableSet...... 2 6 4 29 5 Ajax Susen
在上面的例子中,元素4
和Ajax
都使用两次。 但是在遍历MutableSet
时,它们只打印一次,这是因为MutableSet
接口不支持重复元素。
Kotlin MutableSet示例2 - add() 和 addAll()函数
fun main(args: Array<String>) { val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) val mutableSet: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22) println("....intmutableSet....") for(element in intmutableSet){ println(element) } intmutableSet.add(10) println("....intmutableSet.add(10)....") for(element in intmutableSet){ println(element) } intmutableSet.addAll(mutableSet) println("....intmutableSet.addAll(mutableSet)....") for(element in intmutableSet){ println(element) } }
执行上面示例代码,得到以下结果 -
....intmutableSet.... 2 6 4 29 5 ....intmutableSet.add(10).... 2 6 4 29 5 10 ....intmutableSet.addAll(mutableSet).... 2 6 4 29 5 10 8 11 22
Kotlin MutableSet示例3 - remove() 和 removeAll()函数
fun main(args: Array<String>) { val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) val mutableSet: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22) println("....intmutableSet....") for(element in intmutableSet){ println(element) } intmutableSet.remove(29) println("....intmutableSet.remove(29)....") for(element in intmutableSet){ println(element) } intmutableSet.removeAll(mutableSet) println("....intmutableSet.removeAll(mutableSet)....") for(element in intmutableSet){ println(element) } }
执行上面示例代码,得到以下结果 -
....intmutableSet.... 2 6 4 29 5 ....intmutableSet.remove(29).... 2 6 4 5 ....intmutableSet.removeAll(mutableSet).... 2 4 5
Kotlin MutableSet示例4 - contains() 和 containsAll()函数
fun main(args: Array<String>) { val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) val mutableSet2: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22) val mutableSet3: MutableSet<Int> = mutableSetOf<Int>(2,4,6) println("....mutableSet1....") for(element in mutableSet1){ println(element) } println("....mutableSet2....") println(mutableSet2) println("....mutableSet3....") println(mutableSet3) println("....mutableSet1.contains(29)....") println(mutableSet1.contains(29)) println("....mutableSet1.containsAll(mutableSet2))....") println(mutableSet1.containsAll(mutableSet2)) println("....mutableSet1.containsAll(mutableSet3))....") println(mutableSet1.containsAll(mutableSet3)) }
执行上面示例代码,得到以下结果 -
....mutableSet1.... 2 6 4 29 5 ....mutableSet2.... [6, 8, 11, 22] ....mutableSet3.... [2, 4, 6] ....mutableSet1.contains(29).... true ....mutableSet1.containsAll(mutableSet2)).... false ....mutableSet1.containsAll(mutableSet3)).... true
Kotlin MutableSet示例5 - isEmpty() 和 any()函数
fun main(args: Array<String>) { val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) println("....mutableSet1....") for(element in mutableSet1){ println(element) } println("....mutableSet1.isEmpty()....") if(mutableSet1.isEmpty()) println("mutableSet1 is empty, not contain any element") else println("mutableSet1 is not empty, contains element") println("....mutableSet1.any()....") if(mutableSet1.any()) println("mutableSet1 contain at least one or more elements") else println("mutableSet1 not contain any element") }
执行上面示例代码,得到以下结果 -
....mutableSet1.... 2 6 4 29 5 ....mutableSet1.isEmpty().... mutableSet1 is not empty, contains element ....mutableSet1.any().... mutableSet1 contain at least one or more elements
Kotlin MutableSet示例6 - first(),indexOf() 和 drop()函数
fun main(args: Array<String>) { val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5) println("....mutableSet1....") for(element in mutableSet1){ println(element) } println("....mutableSet1.first()....") println(mutableSet1.first()) println("...mutableSet1.indexOf(4)...") println(mutableSet1.indexOf(4)) println("...mutableSet1.drop(3)...") println(mutableSet1.drop(3)) }
执行上面示例代码,得到以下结果 -
....mutableSet1.... 2 6 4 29 5 ....mutableSet1.first().... 2 ...mutableSet1.indexOf(4)... 2 ...mutableSet1.drop(3)... [29, 5]
上一篇:Kotlin Set接口
下一篇:Kotlin HashSet类
扫描二维码
程序员编程王