Swift iOS macOS 字符串 插入到已排序的数组中,字符串对比

news/2025/2/25 18:56:26

Swift iOS macOS 字符串 插入到已排序的数组中,字符串对比

今天需要实现这样一个功能:
有一个字符串 ad,需要按顺序插入到这样一个字符串数组中。
注意:这个数组中有近8万条数据,所以不可能每添加一个数据都重新排序一下,这样会很耗费时间和资源

var arr = ["a", "ab", "ac", "abz", "nnqi", "nnq", "nnec"]

实现方法

  1. 先将数组排序
  2. 然后找到需要插入到的字符串应该在数组中的位置
  3. 插入它

swift 中默认的字符串对比是这样的:

// 以下均为 true
"aa" > "a"
"b"  > "aa"
"ab" > "aa"

如果你有特殊的对比需求,可以查看官方文档中有没有对应的可选字符串对比参数:NSString.CompareOptions

// 1. 原数组
var arr = ["a", "ab", "ac", "abz", "nnqi", "nnq", "nnec"]

// 2. 排序
arr.sort(by: <)
// 排序后:["a", "ab", "abz", "ac", "nnec", "nnq", "nnqi"]

// 3. 需要插入的字符串
let itemNeedInsert = "ad"

// 4. 获取需要插入的位置 index
if let index = arr.firstIndex(where: {$0 > itemNeedInsert}) {
    print(index)
    // 5. 取到位置 4
    
    // 6. 插入到数组的指定位置
    arr.insert(itemNeedInsert, at: index)
}

print(arr)
//7. 结果: ["a", "ab", "abz", "ac", "ad", "nnec", "nnq", "nnqi"]

http://www.niftyadmin.cn/n/4613419.html

相关文章

python 回归和决策树 数据验证和参数调整

cross_val_score, cv10, 随机分成10个子集 ​from sklearn.model_selection import cross_val_score scores cross_val_score(tree_reg, housing_prepared, housing_labels, scoring“neg_mean_squared_error”, cv10) tree_rmse_scores np.sqrt(-scores) def display_scor…

Swift iOS macOS 如何 Localize StoryBoard,StoryBoard 本地化,添加多语言支持,基于 String

Swift iOS macOS 如何 Localize StoryBoard&#xff0c;StoryBoard 本地化&#xff0c;添加多语言支持&#xff0c;基于 String 本地化主要包含两个部分&#xff1a;代码中文本的本地化 和 StoryBoard 中文本的本地化 iOS 和 macOS 是一样的 这里只介绍 StoryBoard 的本地化&a…

Integer类型的数据比较大小

因为实体类用的是Integer包装类&#xff0c;所以是对象&#xff0c;不能直接比较大小&#xff0c; 一、一个Integer一个Int可以直接比较大小 二、两个Integer需要用.intValue()方法比较大小&#xff1a; 例如&#xff1a;cw.getCwId().intValue()list.get(i).getCwId().intValu…

使用NLP从文章中自动提取关键字

运用场景&#xff1a; call centre 数据的关键字提取&#xff0c;从而根据关键字归类为部件相关类&#xff08;ADF,Engine, FB,boot up,duplex issue etc&#xff09;和流程相关类(install issue, print issue, fax issue etc.。 在研究和新闻文章中&#xff0c;关键词构成了…

Power BI中的QA功能预览

微软在休斯敦的全球合作伙伴大会上发布了Power BI for Office 365&#xff0c;通过Excel和Office 365中的自服务式商业智能解决方案为信息工作者提供了数据分析以及可视化功能以帮助他们更好的洞悉企业内部和外部的数据。其中有一个很棒的功能就是Power BI的QA功能&#xff0c;…

用户关闭页面前提示,提醒保存内容 Window 的 unload onunload onbeforeunload 事件

用户关闭页面前提示&#xff0c;提醒保存内容 Window 的 unload onunload onbeforeunload 事件 在线测试例子&#xff1a; http://kylebing.cn/test/unload-event/ 在很多有编辑内容的页面都需要实现这个功能&#xff1a; 用户在点击刷新、关闭、离开、关闭当前标签页、关闭浏览…

Linux深入篇之九:构建企业级Nginx+Keepalived集群架构

Linux深入篇之九&#xff1a;构建企业级NginxKeepalived集群架构随着Nginx在国内的发展潮流&#xff0c;越来越多的互联网公司都在使用Nginx。Nginx高性能、稳定性成为IT人士青睐的http和反向代理服务器&#xff0c;今天我们来实战构建NginxKeepalived高可用架构配置&#xff0…

Swift iOS macOS 实现 Hashable 协议

Swift iOS macOS 实现 Hashable 协议 对于一些项目中需要做比较的对象&#xff0c;就需要实现 Hashable 协议&#xff0c;因为要用到 比如我这里有个对象 Phrase&#xff0c;在项目中需要用到 两个 Phrase 对象作对比&#xff0c;就实现这个 Hashable protocle 这个协议中主…