猛禽洛的程式筆記庫

[Android] Kotlin 賦予 List尋找近似值功能

在List中,我們可以很方便的add很多數值進去,當要取出某個值時,會使用get(index)來取得。

但如果今天想要取出最接近List中的某個值,在Kotlin中可以用一個非常快的方法:

首先先定義一個function來擴增List的功能:

fun List<Long>.closestValue(value: Long) = minByOrNull { abs(value - it) }

其中Long類型可依我們要放的型態去改寫。

然後再來新增我們的List變數:

//建立一個可變的List
private val dataList: MutableList<Long> = mutableListOf()
//對dataList加入元素
dataList.add(100L)
dataList.add(110L)
dataList.add(115L)

這時候就可以用closestValue來尋找最接近的元素:

dataList.closestValue(111L)//會得到110

 

-END-

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *