一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

Swift程序 在Set中搜索元素含代碼

在Set中搜索元素的Swift程序

在Swift中,集合是一種無(wú)序的、獨(dú)特的、不可重復(fù)的存儲(chǔ)對(duì)象的容器。愛掏網(wǎng) - it200.com當(dāng)我們需要搜索集合中是否存在某個(gè)元素時(shí),可以利用Set的contains()方法進(jìn)行查找。愛掏網(wǎng) - it200.com

Set的contains()方法用于判斷集合中是否包含某個(gè)元素。愛掏網(wǎng) - it200.com其聲明如下:

func contains(_ member: Element) -> Bool

其中,member代表集合中存在的元素,Element是泛型參數(shù)。愛掏網(wǎng) - it200.com該方法返回一個(gè)布爾值,true代表集合中包含該元素,false代表集合中不包含該元素。愛掏網(wǎng) - it200.com

下面是一段Swift代碼示例,演示如何利用contains()方法在Set中查找元素:

var mySet: Set<String> = ["apple", "banana", "orange"]

if mySet.contains("banana") {
    print("Set中包含該元素")
} else {
    print("Set中不包含該元素")
}

運(yùn)行結(jié)果:

Set中包含該元素

Set中包含自定義對(duì)象的搜索

當(dāng)集合中存儲(chǔ)的元素為自定義對(duì)象時(shí),需要重寫該對(duì)象的hashValue和操作符,以確保集合中不會(huì)有重復(fù)的元素。愛掏網(wǎng) - it200.com下面是一個(gè)自定義對(duì)象Point的例子:

class Point: Hashable {
    var x: Int
    var y: Int

    init(x: Int, y: Int) {
        self.x = x
        self.y = y
    }

    // 重寫hashValue
    func hash(into hasher: inout Hasher) {
        hasher.combine(x)
        hasher.combine(y)
    }

    // 重寫==
    static func ==(lhs: Point, rhs: Point) -> Bool {
        return lhs.x == rhs.x && lhs.y == rhs.y
    }
}

var pointSet: Set<Point> = [Point(x: 1, y: 2), Point(x: 2, y: 3), Point(x: 4, y: 5)]

if pointSet.contains(Point(x: 2, y: 3)) {
    print("Set中包含該元素")
} else {
    print("Set中不包含該元素")
}

運(yùn)行結(jié)果:

Set中包含該元素

實(shí)戰(zhàn):判斷密碼是否合法

我們可以利用Set的contains()方法來判斷用戶輸入的密碼是否合法。愛掏網(wǎng) - it200.com假設(shè)密碼需要符合以下規(guī)則:

  • 長(zhǎng)度大于等于8位
  • 至少包含一個(gè)小寫字母
  • 至少包含一個(gè)大寫字母
  • 至少包含一個(gè)數(shù)字

下面是一個(gè)Swift代碼示例:

func isPasswordValid(_ password: String) -> Bool {
    if password.count < 8 {
        return false
    }

    if !password.contains(where: { 0.isUppercase }) {
        return false
    }

    if !password.contains(where: {0.isLowercase }) {
        return false
    }

    if !password.contains(where: { $0.isNumber }) {
        return false
    }

    return true
}

let password = "Abc12345"
let invalidPassword = "abc123"

let validChars = Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890")

if isPasswordValid(password) && Set(password).isSubset(of: validChars) {
    print("密碼合法")
} else {
    print("密碼不合法")
}

if isPasswordValid(invalidPassword) && Set(invalidPassword).isSubset(of: validChars) {
    print("密碼合法")
} else {
    print("密碼不合法")
}

運(yùn)行結(jié)果:

密碼合法
密碼不合法

結(jié)論

本文介紹了Swift中Set的contains()方法,以及如何利用該方法在Set中搜索元素。愛掏網(wǎng) - it200.com對(duì)于包含自定義對(duì)象的Set,需要重寫該對(duì)象的hashValue和操作符;對(duì)于實(shí)際應(yīng)用中的密碼合法性驗(yàn)證,可以使用Set的isSubset(of:)方法來判斷輸入的密碼包含的字符是否合法。愛掏網(wǎng) - it200.com

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評(píng)論
更多 網(wǎng)友評(píng)論0 條評(píng)論)
暫無(wú)評(píng)論

返回頂部

主站蜘蛛池模板: 亚洲国产成人精品在线 | 欧美小视频在线观看 | 日韩在线一区二区三区 | 中文字幕av一区二区三区 | 国产乱码久久久久久一区二区 | 国产精品亚洲成在人线 | 国产小视频在线看 | 请别相信他免费喜剧电影在线观看 | www.99re| 日韩在线电影 | 亚洲狠狠丁香婷婷综合久久久 | 久久久国产一区二区三区四区小说 | 日韩av免费在线电影 | 国产伦精品一区二区三区高清 | 黄色av网站在线观看 | 一区二区三区亚洲视频 | 免费观看一级特黄欧美大片 | 成人h视频 | 精品国产乱码久久久久久丨区2区 | a久久久久久 | 国产欧美一区二区三区国产幕精品 | 毛片一区二区三区 | 91一区二区在线观看 | 国产精品视频在线免费观看 | 亚洲高清一区二区三区 | 欧美一级免费看 | 亚洲有码转帖 | 欧美精品电影一区 | 夜夜艹 | 99国产精品99久久久久久粉嫩 | 日韩精品不卡 | 久久五月婷 | 91久久精品国产免费一区 | 亚洲a视频 | 欧美一区二区三区小说 | 福利精品在线观看 | 日本高清视频在线播放 | 国产91久久久久蜜臀青青天草二 | 欧美日韩一区二区视频在线观看 | 成人片在线看 | 久久久久久久一区 |