Swift程序移除集合中的空值
在Swift中,集合用于创建无序的唯一元素集合。在Swift中,要将nil值存储在集合中,需要将集合定义为可选类型,因为nil是一个可选值。因此,要移除集合中的空值,我们可以使用内置函数,例如remove()和filter()。让我们详细讨论这两种方法以及示例。
方法1:使用remove(_:)函数
remove(_:)函数用于从给定集合中移除或删除指定元素。
语法
func remove(ele)
其中ele是要从指定集合中移除的元素。如果该元素是给定集合的一部分,则此函数返回eye参数的值。否则返回nil。
示例
在以下代码中,我们将首先创建一个可选集合,以便在其中存储nil值。然后使用remove(_:)函数移除nil值,然后显示更新后的集合。
import Foundation
import Glibc
// Creating optional type set to store nil value
var mySet: Set<Int?> = [23, nil, 21, nil, 98, nil]
// Removing null from optional set
mySet.remove(nil)
print("Set:", mySet)
输出
Set: [Optional(21), Optional(98), Optional(23)]
方法2:使用filter(_:)函数
Swift提供了一个名为filter(_:)的内置函数。此函数用于返回一个集合,该集合仅包含满足给定条件的元素。
语法
func filter{col}
其中col是闭包,它从给定序列中获取一个元素并返回一个布尔值,该值指示是否应将给定元素包含在返回的集合中。
示例
在以下Swift示例中,我们将首先创建一个可选集合,以便在其中存储空值和字符串值。然后使用filter()函数创建一个仅包含非空值的新集合,这里我们使用{$0 != nil}闭包来移除nil值。然后使用map()函数将可选集合转换为非可选集合,因为我们已经过滤掉了nil值,所以现在我们可以安全地使用强制解包运算符(‘!’)将可选值转换为非可选值。并显示结果。
import Foundation
import Glibc
// Creating optional type set to store nil value
var mSet: Set<String?> = ["mox", "fox", nil, "kox", nil, "aox"]
// Filter out null values
let newSet = mSet.filter { $0 != nil }.map { $0! }
print("New Set with no null values:", newSet)
输出
New Set with no null values: ["kox", "fox", "aox", "mox"]
结论
因此,这就是我们如何从集合中移除空值的方法。这里,如果集合元素的顺序发生变化,请不要感到困惑,因为集合是无序集合。此外,您不能在非可选集合中存储nil,如果您尝试这样做,将会收到错误。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP