gpt4 book ai didi

外部范围内的列表过滤器 - KOTLIN

转载 作者:行者123 更新时间:2023-12-01 15:54:52 24 4
gpt4 key购买 nike

我刚开始学习kotlin,偶然发现了这个小问题。我有一个对象列表,正在过滤指定范围内的列表。能够获取范围内的对象,但是当我将范围更改为外部边界时,我得到一个空数组,

所以为了让问题简单化,假设我有一个整数列表,比如

   original list [1, 2, 3, 4, 5, 6, 7]

我有一个滴管功能,可以过滤掉元素

working condition

 fun dropper(args: ArrayList<Int>): List<Int> {
return args.filter { it in 2..6 } // it >= 2 && it <= 6
}

输出被接收为

 [2, 3, 4, 5, 6]

但是当我将范围更改为

fun dropper(args: ArrayList<Int>): List<Int> {
return args.filter { it in 4..2 } // it <= 2 && it >= 4
// it in 4..2 , was suggested by the IDE
}

将输出作为一个空列表。

我非常确定列表值没有被清除,因为在调用这个函数之后我将列表传递给另一个操作,它给出了预期的结果。

最佳答案

4..2基本上是一个空范围,因为它转换为 it >= 4 && it <= 2 .要创建递减的范围,您必须使用 downTo :

args.filter { it in 4 downTo 2 }

reversed在某些情况下也可以作为替代方案:

args.filter { it in (2..4).reversed() }

这个具体问题也是 Dan Lew 最近的第一个例子 blog post很好地涵盖了范围。

关于外部范围内的列表过滤器 - KOTLIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com