web-dev-qa-db-ja.com

Kotlin-配列に値が含まれていることをチェックする慣用的な方法

文字列の配列にkotlinの値が含まれているかどうかを確認する慣用的な方法は何ですか? Rubyの#include?

私は約:

array.filter { it == "value" }.any()

もっと良い方法はありますか?

26
jturolla

あなたが探している同等のものは、 含む 演算子です。

array.contains("value") 

Kotlinは、この演算子の代替 ​​挿入表記法 を提供します。

"value" in array

背後で呼び出される同じ関数ですが、 中置表記法 がJavaにないため、inが最も慣用的な方法であると言えます。

30
Geoffrey Marizy

any()を使用して比較する特定のフィールドを持つオブジェクトが配列に含まれているかどうかを確認することもできます

listOfObjects.any{ object -> object.fieldxyz == value_to_compare_here }
43
Amar Jain

in operator を使用できます。この場合、 contains を呼び出します。

"value" in array

18
mfulton26

in演算子を使用することは、そのための慣用的な方法です。

val contains = "a" in arrayOf("a", "b", "c")
13
Gerson

ArrayListでオブジェクトを含む特定のフィールドを見つけることができるコードを次に示します。アマル・ジャインの答えは私を助けました:

listOfObjects.any{ it.field == "value"}
0
Dimitar