当前位置: 首页 > wzjs >正文

三合一网站怎么建立网络营销推广专员

三合一网站怎么建立,网络营销推广专员,网站推广案例,泰安千橙网站建设优化熊掌号在之前,我们学习了如何根据 Comparator 接口中定义的方法和 compareTo() 方法按照元素的自然顺序对集合进行排序。 在本章中,我们将看到如何根据我们的需求或任务使用 Kotlin 中的特殊方法自定义集合的排序。 自定义排序 为了按我们自己的需求对集合中的…

在之前,我们学习了如何根据 Comparator 接口中定义的方法和 compareTo() 方法按照元素的自然顺序对集合进行排序。

在本章中,我们将看到如何根据我们的需求或任务使用 Kotlin 中的特殊方法自定义集合的排序。

自定义排序

为了按我们自己的需求对集合中的元素进行自定义排序,Kotlin 提供了以下两个函数:sortedBy()sortedByDescending()

它们是如何工作的呢?这两个方法接受一个 lambda 表达式作为选择器函数,该函数将元素或元素的某些属性映射为可比较的属性。结果返回一个按照识别出的自然顺序排序的集合。sortedBy() 返回一个按升序排列的集合,而 sortedByDescending() 返回一个按降序排列的集合。

fun main() {val words = listOf("peter", "anne", "michael", "caroline")// 按单词长度排序println(words.sortedBy { it.length }) // [anne, peter, michael, caroline]println(words.sortedByDescending { it.length }) // [caroline, michael, peter, anne]// 按首字母排序println(words.sortedBy { it.first() }) // [anne, caroline, michael, peter]println(words.sortedByDescending { it.first() }) // [peter, michael, caroline, anne]// 按最后一个字母排序println(words.sortedBy { it.last() }) // [anne, caroline, michael, peter]println(words.sortedByDescending { it.last() }) // [peter, michael, anne, caroline]
}

解释代码:

  • sortedBy { it.length } 将字符串按其长度升序排列。

  • sortedByDescending { it.length } 将字符串按其长度降序排列。

  • sortedBy { it.first() } 将字符串按其首字母升序排列。

  • sortedByDescending { it.first() } 将字符串按其首字母降序排列。

  • sortedBy { it.last() } 将字符串按其最后一个字母升序排列。

  • sortedByDescending { it.last() } 将字符串按其最后一个字母降序排列。

定义新的排序规则

有时候,默认的排序规则不足以满足需求,你可能需要为不可比较的元素或属性实现更具体的排序。例如,你可以为某些元素或属性定义一个自定义排序。

我们可以使用 Comparator 接口定义自定义排序。Comparator 接口帮助我们定义 compare() 方法,该方法返回两个值比较的结果:如果两个值相等则返回 0,如果第一个值小于第二个值返回负数,若大于则返回正数。这样,你可以在集合中设置你需要的排序顺序。我们可以使用 lambda 来定义 compare() 函数,例如,返回一个正数来表示第一个元素必须排在第二个元素前面,或者按日期、字符串长度等进行排序。

接下来,我们可以使用 sortedWith() 函数返回一个按指定的比较器排序后的列表。

fun main() {val words = listOf("peter", "anne", "michael", "caroline")// 定义一个按单词长度排序的比较器val wordsLengthComparator = Comparator { str1: String, str2: String -> str1.length - str2.length }// 按比较器排序后的列表println(words.sortedWith(wordsLengthComparator)) // [anne, peter, michael, caroline]// 另一个按中间字母排序的比较器val middleLetterComparator =Comparator { str1: String, str2: String -> str1[str1.length / 2] - str2[str2.length / 2] }// 按比较器排序后的列表println(words.sortedWith(middleLetterComparator)) // [michael, caroline, anne, peter]
}

解释代码:

  • wordsLengthComparator 是一个比较器,它根据字符串的长度来进行排序。

  • middleLetterComparator 是另一个比较器,它根据字符串的中间字母进行排序。

改进自定义排序

另一种实现自定义排序的方法是使用 compare() 函数,这允许我们通过 lambda 表达式即时定义所需的比较器,从而自定义集合元素的排序。

fun main() {val words = listOf("peter", "anne", "michael", "caroline")// 按长度排序println(words.sortedWith(compareBy { it.length })) // [anne, peter, michael, caroline]// 按中间字母排序println(words.sortedWith(compareBy { it[it.length / 2] })) // [michael, caroline, anne, peter]
}

解释代码:

  • compareBy { it.length } 是一个比较器,它按照字符串的长度进行排序。

  • compareBy { it[it.length / 2] } 是一个比较器,它按照字符串的中间字母进行排序。

结合使用逆序排序

最后,你可以将自定义排序方法与 reversed() 函数结合使用,以获得已定义顺序的逆序排列。

fun main() {val words = listOf("peter", "anne", "michael", "caroline")// 按长度排序并逆序println(words.sortedWith(compareBy { it.length }).reversed()) // [caroline, michael, peter, anne]// 按中间字母排序并逆序println(words.sortedWith(compareBy { it[it.length / 2] }).reversed()) // [peter, anne, caroline, michael]
}

解释代码:

  • sortedWith(compareBy { it.length }).reversed() 将根据字符串的长度进行排序,并返回一个按降序排列的列表。

  • sortedWith(compareBy { it[it.length / 2] }).reversed() 将根据字符串的中间字母进行排序,并返回一个按降序排列的列表。

结论

通过本章,我们展示了多种自定义集合元素排序的技巧。现在你可以根据问题的需求,灵活地选择使用自然排序或自定义排序标准来调整集合的顺序。

http://www.dtcms.com/wzjs/508709.html

相关文章:

  • 可以做装修效果图的网站有哪些快速提升网站排名
  • 整合营销的案例seo综合查询怎么关闭
  • 无锡市城乡建设局网站91永久免费海外地域网名
  • 做视频赚钱的网站seo软件开发
  • 赚钱网站怎么做网站链接分析工具
  • 使用html5做语音标注网站360网站推广
  • 做网站专用软件免费推广产品的平台
  • 做网站怎么租用服务器加强服务保障 满足群众急需需求
  • wordpress文章发布器合肥百度网站排名优化
  • 万虹点读机如何做系统下载网站营销网站的宣传、推广与运作
  • python做网站登录橘子seo
  • 网站怎么注销备案号东莞网站seo推广
  • 做网站业务好干吗广东省广州市白云区
  • 六安网站制作公司价格北京百度网讯人工客服电话
  • 南通网站建设推广b站视频推广网站
  • 洛阳作公司网站镇江网站建站
  • 织梦网站怎样做安全防护百度指数资讯指数是指什么
  • 网站动图banner怎么做产品网络营销推广方案
  • 法律平台网站建设方案汽车品牌推广策划方案
  • 一 网站建设的总体目标南昌seo排名公司
  • 政府网站建设整改方案竞价账户托管哪家好
  • 项目网站的建设有两种模式免费正规的接单平台
  • 非公党委网站的建设旅游产品推广有哪些渠道
  • 惠州网站建设科技有限公司网络服务器是指什么
  • 电商平台官网简述seo的基本步骤
  • 建设网站的报告上海网络推广公司网站
  • 瑞安这边有没有做网站的京津冀协同发展
  • 大连市建委官方网站手游推广去哪里找客源
  • 网站建设与制作实训报告营销方式都有哪些
  • 全国文明网联盟网站建设拉新app推广平台排名