始めに

今回は自分がKotlinを勉強していく中で他の言語とは記述の仕方が違うなって思ったことをメモ書きのように書いてく記事です。不定期で更新されていきます。また、自分用のメモなので詳しい説明などは省いていきます。

コード集

Whenについて

when (条件となる要素) {
    要素の条件1 -> 動作
    in 2..100 (範囲指定) -> 動作
    要素の条件2 -> 動作
    else -> 動作
}

nullabilityについて

nullにできるもの => 配列型

  • array
  • list
  • map
  • set

nullにできないやつ => その他の型

無理やりnullにしたいときは

var 変数名: 型? =null

でnull宣言ができる。

?: エルビス演算子(Elvis operator) : 左側の変数がnullでないかをチェックし、nullであれば右側の値を代入する。

変数?.関数 : 変数がnullでないかをチェックしnullの場合は関数を実行しない。

変数!!.関数 : !! (double-bang) : 変数がnullになりえる可能性があっても関数を実行させることができる。

Array, List の宣言の仕方

    • Listの場合
      • listOf : 普通の宣言
      • mutableListOf : 後から拡張可能であると宣言
      • Listの要素の削除について : List名.remove("要素名")で削除可能、返り値は削除成功時にBoolean型のtrue。
    • Arrayの場合
      • arrayOf : 普通の宣言
      • 型名(小文字)ArrayOf : 全ての要素に適用する型を指定しての宣言
      • arrayListOf : 後から拡張可能であると宣言
      • array型はprintlnで表示するときjava.util.Arrays.toString(配列名)
        で表示しないとメモリアドレス名を返却してしまう。
      • for文で回すとき:
        for(仮要素名 in 配列名){
            println(仮要素名)
        }
        for((インデックス名, 仮要素名) in 配列名.withIndex()){
            println(インデックス名 + 仮要素名)
        }

repeat(回数){動作} : 指定した回数の動作を行う

sealed class : 使える場所 => seald classが宣言されたファイル or seald class内
whenと絡めて使う

今回は自分がKotlinを勉強していく中で他の言語とは記述の仕方が違うなって思ったことをメモ書きのように書いてく記事です。不定期で更新されていきます。また、自分用のメモなので詳しい説明などは省いていきます。

 

コード集Whenについて

when (条件となる要素) {
要素の条件1 -> 動作
in 2..100 (範囲指定) -> 動作
要素の条件2 -> 動作
else -> 動作
}

nullabilityについて
nullにできるもの => 配列型
array : 順序あり
list : 要素の列挙
map : キー値による管理
set : 順序なし、重複なし

nullにできないやつ => その他の型
無理やりnullにしたいときは
var 変数名: 型? =null
でnull宣言ができる。

?: エルビス演算子(Elvis operator) : 左側の変数がnullでないかをチェックし、nullであれば右側の値を代入する。

変数?.関数 : 変数がnullでないかをチェックしnullの場合は関数を実行しない。

変数!!.関数 : !! (double-bang) : 変数がnullになりえる可能性があっても関数を実行させることができる。

Array, List の宣言の仕方

Listの場合
listOf : 普通の宣言
mutableListOf : 後から拡張可能であると宣言
Listの要素の削除について : List名.remove("要素名")で削除可能、返り値は削除成功時にBoolean型のtrue。

Arrayの場合
arrayOf : 普通の宣言
型名(小文字)ArrayOf : 全ての要素に適用する型を指定しての宣言
arrayListOf : 後から拡張可能であると宣言
array型はprintlnで表示するときjava.util.Arrays.toString(配列名)
で表示しないとメモリアドレス名を返却してしまう。
for文で回すとき:
for(仮要素名 in 配列名){
println(仮要素名)
}

for((インデックス名, 仮要素名) in 配列名.withIndex()){
println(インデックス名 + 仮要素名)
}
repeat(回数){動作} : 指定した回数の動作を行う

listの関数 : (引用 : Kotlin Bootcamp for Programmers 5.1: Extensions)

  • add(element: E)
  • remove(element: E)
  • reversed()
  • contains(element: E)
  • subList(fromIndex: Int, toIndex: Int)
  • sum() : listが数値の時
  • sumBy{listを数値の形に直す処理(it.length)}:listが数値じゃないとき
  • listIterator : for文と合わせて一つ一つ要素を取り出していく
    for( va in list.listIterator()){ println(va)}

sealed class : 使える場所 => seald classが宣言されたファイル or seald class内

whenと絡めて使う(sealed classを継承したクラスで条件分岐): (参照 : Kotlinのsealed classを使いこなす)

sealed class sclass{
object class C1 : sclass()
object class C2 : sclass()
}
when (変数 : sclass){
is C1-> 処理
is C2-> 処理
//elseは不要(kotlinが内部的に処理してくれる)
}

Pair, Triples : (参考 : 【Kotlin】複数の値を返したい!)
Pair: val Pair変数 = 変数1(first プロパティ) to 変数2(second プロパティ)
Pair(変数1, 変数2)
Triples : val Triples変数 = Triple(変数1, 変数2, 変数3)
分解宣言(destructing) : val (変数1, 変数2) = Pair(A, B)

終わりに

ここまでお疲れさまでした。まだKotlinについては学習中ですのでこのページは今後変更、更新されていきます。また自分が解釈しやすいように書いてあるので事実とは少し違う可能性があることをご了承ください。


コメント一覧

返信2020年4月22日 5:23 PM

クマ24/

ためになりました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です