2016-11-04 21 views

答えて

33

使用distinct extension function

@mfulton26が示唆したように
val a = listOf("a", "b", "ab", "ba", "abc") 
val b = a.distinctBy { it.length } // ["a", "ab", "abc"] 

、あなたもあれば、toSettoMutableSetを使用してすることができます

val a = arrayOf("a", "a", "b", "c", "c") 
val b = a.distinct() // ["a", "b", "c"] 

は、1つのアイテムを区別する方法を指定することができますdistinctBy functionあります元の注文を保存する必要はありません。toHashSet。これらの関数はListの代わりにSetを生成し、distinctよりも少し効率的でなければなりません。


あなたは役立つことがあります。

+1

はヌルをフィルタリングdistinct' '知りませんでした。例を見せてもらえますか? – Ilya

+0

@Ilya、私の悪い、それは 'distinct()'ではなく、コレクションビューで 'null'を除外して私を混乱させるデバッガーでした。答えを固定しました、ありがとう! – hotkey

+1

'toSet'や' toMutableSet'を使うこともできます。これは 'distinct'よりオーバーヘッドが少なく、順序が問題でなければ' toHashSet'を使うことができます。 – mfulton26

関連する問題