Kotlin学習クイックスタート(4) - 使用のコレクション

リスト、セット、マップコレクションです

  • リストには、要素にアクセスする(積分要素の位置を反映する)インデックスで順序付けられたコレクションです。要素がリストに複数回表示されることができます。単語リストの一例:単語のセットは、順序が重要な単語であると言葉を繰り返すことができます。
  • セットには、ユニークな要素の集合です。非重複オブジェクトのセット:それは数学的抽象化の集合(セット)を反映しています。一般的に要素の順序は重要ではありませんし。例えば、アルファベット文字(セット)のセット。
  • 地図(または辞書)はキーと値のペアのセットです。キーは、正確に値にマッピングされた各キーユニークです。値を繰り返すことができます。マップは、オブジェクト、例えば、従業員IDおよび従業員の位置との間の論理接続を格納するために有用です。

コレクションを作成します。

一般的にはすぐにコレクションを作成するために、標準ライブラリを使用して、listOf ()、SETOF ()、mutableListOf ()、mutableSetOf ()

もちろん、あなたもJavaのコンストラクタのセットを使用することができます

val numbers = listOf(0,1,2,3,4)

空のセット:emptyList()、emptySet()とemptyMap()、あなたはのタイプを指定する必要があります

val empty = emptyList<String>()

コレクションの一部を取ります

スライス

val numbers = listOf(0,1,2,3,4)
//按顺序取
println(numbers.slice(1..3))//[1,2,3]
//按步长取
println(numbers.slice(0..4 step 2))//[0,2,4]
//取指定下标
println(numbers.slice(setOf(3, 4, 0)))//[3,4,0]

n個の要素は、テイクを取ら

  • 取る(N:整数)配列要素から順次n個を取ります
  • takeLast(N:整数)のn個の要素の終わりには、撮影しました
  • takeWhile {expresstionは}停止条件が成立していない、撮影され
  • 背中から採取takeWhileLast {expresstion}、停止条件が満たされていません
val numbers = listOf(0,1,2,3,4)
println(numbers.take(3))//[0,1,2]
println(numbers.takeLast(3))//[2,3,4]
val numbers = listOf("one", "two", "three", "four", "five", "six")
println(numbers.takeWhile { !it.startsWith("three") })//[one,two]
println(numbers.takeLastWhile { !it.startsWith("three") })//[four, five, six]

ドロップ

  • ドロップ(N:int)がn個の要素のアレイを破棄する
  • dropLast(N:整数)のn個の要素の破棄の配列の終わりに
  • dropWhile {expresstionは}条件が満たされていない停止、失われています
  • dropWhileLast {expresstionは}停止条件が成立していない、背面から失われました
val numbers = listOf(0,1,2,3,4)
println(numbers.drop(3))//[3,4]
println(numbers.dropLast(3))//[0,1]
val numbers = listOf("one", "two", "three", "four", "five", "six")
println(numbers.dropWhile { !it.startsWith("three") })//three, four, five, six
println(numbers.dropLastWhile { !it.startsWith("three") })//[one, two, three]

フィルタ

  • フィルタ{experssion}条件を満たすを有する要素
  • filterNot {experssion}撮影条件を満足要素ではありません
  • filterIndexed {experssion}条件は、この方法の使用次に、指標値の使用を必要とする場合
  • filterIsInstance <タイプ>()要素のタイプであるかどうか
val numbers = listOf("one", "two", "three", "four", "five", "six")
val longerThan3 = numbers.filter { it.length > 3 }
println(longerThan3)//[three,four,five]
val numbers = listOf("one", "two", "three", "four")
val filteredIdx = numbers.filterIndexed { index, s -> (index != 0) && (s.length < 5)  }
println(filteredIdx)//[two,four]
val numbers = listOf(null, 1, "two", 3.0, "four")
//这里只获得list中的String类型数据
println(numbers.filterIsInstance<String>())//[two,four]

パーティション・グループ

val numbers = listOf(2,3,4,5,6)
//上一节类中说过的数据类自动解析,match是满足,rest则是不满足
val (match, rest) = numbers.partition { it%2==0}
println(match)
println(rest)

検査配列は、条件を満たしています

  • 任意{式}の任意の配列要素は、条件がtrueを返し満足します
  • なし{式}はないデータ要素を満たす条件がtrueを返しています
  • すべて{式}アレイ内のすべての要素は、条件を満たしてtrueを返します
val numbers = listOf("one", "two", "three", "four")
println(numbers.any { it.endsWith("e") })
println(numbers.none { it.endsWith("a") })
println(numbers.all { it.endsWith("e") })

要素を取ります

  • [インデックス]リストを使用してもよいです
  • (インデックス)通常の方法を取得します
  • elementAt(インデックス)の新しい方法
  • {}最初の要素を見つけるために見つけることは条件を満たし
  • findLast {}の最後の要素を満たす条件を見つけます
  • ランダムを取るために)(ランダム

重合操作

  • 分()最小
  • MAX()最大
  • 平均()平均
  • 合計()の合計
  • カウント)(カウント

シーケンス

  • ソート()昇順
  • sortDescending()降順

参照

Kotlinコレクション

おすすめ

転載: www.cnblogs.com/kexing/p/11264487.html
おすすめ