- Kotlin环境设置(命令行)
- Kotlin Hello World程序(命令行)
- Kotlin程序概念解释
- Kotlin开发环境设置(IDE)
- Kotlin第一个程序(IDE)
- Kotlin变量
- Kotlin数据类型
- Kotlin类型转换
- Kotlin运算符
- Kotlin表达式、语句和块
- Kotlin标准输入/输出
- Kotlin注释
- 控制流程
- 函数
- 数组
- 字符串
- 异常处理
- 空安全
- 集合
- 注解
- 反射
- Kotlin OOP
- 范围
- Java互操作性
- 正则表达式
Kotlin HashSet类
Kotlin HashSet
是一个集合类,它扩展了AbstractMutableSet
类并实现了Set
接口。 HashSet
类使用散列机制存储元素。 它支持读写功能。 但它不支持重复值,也不保证元素的顺序。
HashSet类的声明
open class HashSet<E> : AbstractMutableSet<E> (source)
Kotlin HashSet类的构造函数
构造函数 | 描述 |
---|---|
HashSet() |
它构造一个空的HashSet 实例 |
HashSet(initialCapacity: Int, loadFactor: Float = 0f) |
它用于构造指定容量的HashSet 。 |
HashSet(elements: Collection<E>) |
它使用指定集合的元素构造HashSet 实例。 |
Kotlin HashSet类的函数
函数 | 描述 |
---|---|
open fun add(element: E): Boolean |
它将给定元素添加到集合中。 |
open operator fun contains(element: E): Boolean |
它检查当前集合中是否存在指定的元素。 |
open fun isEmpty(): Boolean |
它检查当前集合是否为空(不包含任何元素)。 如果找到的集合为空则返回true ,否则返回false 。 |
open fun iterator(): MutableIterator<E> |
它返回当前对象元素的迭代器。 |
open fun remove(element: E): Boolean |
如果当前集合中存在,它将删除提及元素。 如果删除成功则返回true ,则返回false 。 |
open fun clear() |
它会删除此集合中的所有元素。 |
Kotlin HashSet的属性
函数 | 描述 |
---|---|
open val size: Int |
此属性用于返回HashSet 集合的大小。 |
Kotlin HashSet示例1 - 容量
下面是一个定义容量的HashSet示例。 容量是指要在HashSet中
添加的元素总数。 根据需要可以稍后增加减少量。
fun main(args: Array<String>){ var hashSet = HashSet<Int>(6) hashSet.add(2) hashSet.add(13) hashSet.add(6) hashSet.add(5) hashSet.add(2) hashSet.add(8) println("......traversing hashSet......") for (element in hashSet){ println(element) } }
执行上面示例代码,得到以下结果 -
......traversing hashSet...... 8 2 13 5 6
Kotlin HashSet示例2 - 泛型
为了更具体,可以使用HashSet类的hashSetOf <T>()
方法提供泛型类型支持。
fun main(args: Array<String>){ var hashSetOf1 = hashSetOf<Int>(2,13,6,5,2,8) var hashSetOf2: HashSet<String> = hashSetOf<String>("Python","Ajax" ,"Python","Ruby") println("......traversing hashSetOf1......") for (element in hashSetOf1){ println(element) } println("......traversing hashSetOf2......") for (element in hashSetOf2){ println(element) } }
执行上面示例代码,得到以下结果 -
......traversing hashSetOf1...... 8 2 13 5 6 ......traversing hashSetOf2...... Ruby Python Ajax
Kotlin HashSet示例3 - add() 和 addAll()函数
add()
函数用于在HashSet
实例中添加元素,而addAll()
函数将指定集合的所有元素添加到HashSet
。
fun main(args: Array<String>){ var hashSet = HashSet<Int>(3) val intSet = setOf(6,4,29) hashSet.add(2) hashSet.add(13) hashSet.add(6) hashSet.add(5) hashSet.add(2) hashSet.add(8) println("......traversing hashSet......") for (element in hashSet){ println(element) } hashSet.addAll(intSet) println("......traversing hashSet after hashSet.addAll(intSet)......") for (element in hashSet){ println(element) } }
执行上面示例代码,得到以下结果 -
......traversing hashSet...... 8 2 13 5 6 ......traversing hashSet after hashSet.addAll(intSet)...... 2 4 5 6 8 13 29
Kotlin HashSet示例4 - size, contains() 和 containsAll()函数
size
属性返回HashMap
中存在的总元素。 如果contains()
函数中的指定元素包含在集合中,则contains()
函数返回true
,而containsAll()
函数检查此集合中是否包含指定集合的所有元素。
fun main(args: Array<String>){ var hashSetOf1: HashSet<Int> = hashSetOf<Int>(2,6,13,4,29,15) val mySet = setOf(6,4,29) println("......traversing hashSetOf1......") for (element in hashSetOf1){ println(element) } println(".....hashSetOf1.size.....") println(hashSetOf1.size) println(".....hashSetOf1.contains(13).....") println(hashSetOf1.contains(13)) println("....hashSetOf1.containsAll(mySet)...") println(hashSetOf1.containsAll(mySet)) }
执行上面示例代码,得到以下结果 -
......traversing hashSetOf1...... 2 4 13 29 6 15 .....hashSetOf1.size..... 6 .....hashSetOf1.contains(13)..... true ....hashSetOf1.containsAll(mySet)... true
Kotlin HashSet示例5 - remove() 和 removeAll()函数
remove()
函数从集合中删除指定的元素(如果存在),而removeAll()
函数从当前集合中删除所有指定的元素(如果存在)。
fun main(args: Array<String>){ var hashSetOf1: HashSet<Int> = hashSetOf<Int>(2,6,13,4,29,15) val mySet = setOf(6,4,29) println("......traversing hashSetOf1......") for (element in hashSetOf1){ println(element) } println(".....hashSetOf1.remove(6)......") println(hashSetOf1.remove(6)) println("......traversing hashSetOf1 after remove(6)......") for (element in hashSetOf1){ println(element) } println("......hashSetOf1.removeAll(mySet)......") println(hashSetOf1.removeAll(mySet)) println("......traversing hashSetOf1 after removeAll(mySet)......") for (element in hashSetOf1){ println(element) } }
执行上面示例代码,得到以下结果 -
......traversing hashSetOf1...... 2 4 13 29 6 15 .....hashSetOf1.remove(6)...... true ......traversing hashSetOf1 after remove(6)...... 2 4 13 29 15 ......hashSetOf1.removeAll(mySet)...... true ......traversing hashSetOf1 after removeAll(mySet)...... 2 13 15
Kotlin HashSet示例6 - isEmpty() 和 isNotEmpty()函数
isEmpty()
函数检查当前集合是否为空,而isNotEmpty()
函数检查当前集合是否不为空。
fun main(args: Array<String>){ var hashSetOf1: HashSet<Int> = hashSetOf<Int>(2,6,13,4,29,15) println("......traversing hashSetOf1......") for (element in hashSetOf1){ println(element) } println(".....hashSetOf1.isEmpty()....") if(hashSetOf1.isEmpty()){ println("hash set is empty") } else{ println("hash set is not empty") } println(".....hashSetOf1.isNotEmpty()....") if(hashSetOf1.isNotEmpty()){ println("hash set is not empty") } else{ println("hash set is empty") } }
执行上面示例代码,得到以下结果 -
......traversing hashSetOf1...... 2 4 13 29 6 15 .....hashSetOf1.isEmpty().... hash set is not empty .....hashSetOf1.isNotEmpty().... hash set is not empty
下一篇:Kotlin注解
扫描二维码
程序员编程王