Android

Kotlinをはじめよう〜コレクションなど〜

投稿日:2017年6月26日 更新日:

はじめに

前回のKotlin基本文法編に続きまして、今回は前回お話した基本データ型をまとまりとして取り扱う方法を記載したいと思います。

Kotlinでは、配列やレンジ、そしてコレクション(リスト、セット、マップ)があり、多用することになりますので、一つずつ解説していきます。

配列

Kotlinの配列は、Arrayクラスにより表現されています。後ほど、紹介する配列は宣言時に要素数などを決めておく必要があります。

先ずは、配列の宣言方法について

次に要素の取得、代入について

 

レンジ

Kotlinにも他の言語と同様に「1..5」のように表現できるレンジというものがあります。こちらは実際のコードを見てもらえれば、概要はつかめると思います。

 

コレクション(リスト)

コレクションを使うことは他の言語であっても非常に多用するのではないでしょうか。KotlinはJavaとは異なり、イミュータブル(変更不可能)なものとミュータブル(変更可能)なものを明確に区別しています。ミュータブルなコレクションは要素を変更したり、追加・削除が可能です。

先ずは、イミュータブルなリストの例です。0番目の要素の変更や要素の追加でエラーが発生しているのがわかると思います。

今度は、ミュータブルなリストです。要素の変更、追加、削除などの操作が可能であることがわかると思います。

なお、イミュータブルなリストをイミュータブルなリストには下記のメソッドで変更可能です。

 

コレクション(セット)

セットもリスト同じように扱えますが、集合を表すコレクションで下記のような特徴があります。

  • リストとは異なり、集合のため要素に重複がなくなります。
  • リストとは異なり、順序が保証されていません

それでは、早速例を見てみましょう。使い方としてはリストと大差ありませんね。

 

コレクション(マップ)

コレクションの最後としてマップを紹介します。マップは、キーと値の組みを保持するコレクションです。Pairオブジェクト「”key” to “value”」を保持するのですが、この書き方が他の言語と比べると少しクセがありますが、慣れれば問題ないでしょう。

 

コレクションまとめ

まとめとして、コレクションの簡単な表を記載しておきます。

インタフェース 説明 初期化メソッド ミュータブル化
List 変更不可の順序付きリスト listOf toMutableList()
MutableList 変更可の順序付きリスト mutableListOf
Set 変更不可の集合 setOf toMutableSet()
MutableSet 変更可の集合 mutableSetOf
Map 変更不可のキーと値のコレクション mapOf toMutableMap()
MutableMap 変更可のキーと値のコレクション mutableMapOf

さいごに

いかがでしたでしょうか。コレクションは非常に多用するので、しっかりと把握しておきましょう。特にJavaからの移行の場合は、イミュータブルとミュータブルが区別されていることは注意ですね。

次回は、コレクションを操作する便利なメソッド群(map、filter、reduceなど)を紹介したいと思います。

おすすめ書籍

Kotlinイン・アクション Kotlinスタートブック -新しいAndroidプログラミング Kotlin Webアプリケーション 新しいサーバサイドプログラミング

blog-page_footer_336




blog-page_footer_336




-Android
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

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

CAPTCHA


関連記事

[Android] リソースフォルダの修飾子

1 はじめに2 画面の向き3 画面サイズ4 テキスト入力方法5 複数修飾子の組み合わせ6 その他7 さいごに はじめに Androidアプリではリソースフォルダ名に修飾子をつけることによって、様々な環 ...

[Kotlin]DatePickerDialogとTimePickerDialogを使って見た。

1 はじめに2 Anko Commons3 DatePickerDialog3.1 DatePickerFlagment3.2 呼び出し方4 TimePickerDialog4.1 TimePicke ...

[Android] パーミッション管理を簡単・簡潔に書けそうなPermissionsDispatcher

1 はじめに2 環境3 導入4 Activityでの実装例5 @RuntimePermissions(必須)6 PermissionsDispatcherに処理を移譲する7 @NeedsPermiss ...

Kotlinで初期化を遅延する

1 はじめに2 初期化の遅延とは3 by lazy4 lateinit5 Delegates.notNull6 さいごに7 おすすめ書籍 はじめに こんにちは、前回に引き続き、Kotlinの基本的な文 ...

Android 11でdeprecatedになったAsyncTask対応Java編

1 はじめに2 基本的な対応2.1 対応後のサンプル2.2 cancelとonCancelled3 execute().get()への対応4 最後に5 おすすめ書籍 はじめに タイトルの通りAndro ...

フォロー

blog-page_side_responsive

2017年6月
 123
45678910
11121314151617
18192021222324
252627282930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。