【Kotlin入門】Listとは?使い方をわかりやすく解説


KotlinでListの使い方がよくわからない
Listの扱い方がよくわからない
Listの種類がよくわからない

Kotlinの学習を始めたての方はListの種類や使い方、持ってる関数などよくわからないところもありますよね。

こんにちは!エンジニアのかいです。Kotlinをこれから始めようとしている人、もしくは始めたての人であればKotlinのListについていまいち理解できていない人もいると思います。

そこで本日はKotlin初心者の方を対象にListの使い方や種類など詳しく解説していきますのでこれからListを学びたいという方はぜひ参考にしていってください。

この記事はこんな人のために書きました。

  • KotlinでListを使いこなしたい
  • Listの種類を理解して、場合に応じたものを使えるようになりたい
  • Listのもつメソッドなども使って見たい

KotlinのListとは

Kotlinには標準のライブラリとして様々なものが用意されていますが、その中の一つにコレクションというものがあります。コレクションの中にはListやMapなどを司る様々なインターフェースが用意されています。

そのインターフェースが実装されたlistOf()やmapOf()などを使うことで、ListやMapを生成することができます。

KotlinのListには(Listにはというよりコレクションには)、書き込み可能なものと読み込み専用なものがあります。それぞれの使い方を謝るとバグの原因になりますね。

これらについては、後述するのでしっかりと理解しておきたいところです。

Listを使うメリット

さて、ここで一度立ち返ってListを使うメリットについて考えましょう。Listとは、配列などとも言われるインデックスで値を管理する箱みたいなものですね。

つまり、たくさんのデータを一つの箱に入れて扱うことができるのです。配列は、プログラミングをする上で必須前提となる知識なのできちんと理解しておきましょう。

Listを使ってみよう

さて、それでは実際にListを使って見ましょう。

上記にもあげた通りKotlinにはListインターフェースが実装されたメソッドがいくつかあります。

このように書くことで配列を作成することができます。

また、このようにインデックスを指定することで中身の値を指定することができますね。配列はfor文とセットで扱われることが多く、以下のようなコードはよく見かけます。

sortしてみよう

さて、それではListの持つメソッドであるsortedを使ってみましょう。

このとおり、昇順になりましたね。

mutableなlist

冒頭で話した通りListには変更可能なものと、読み取り専用のものがあります。それぞれの挙動について理解しましょう。

変更可能なのが確認できますね。

読み取り専用なlist

このように、listOfで読み取り専用なListをつくるとコンパイルエラーになりますね。

配列の種類

Kotlinには3つの配列があり、今回紹介したListもその1つです。この章では、その3種類について違いを説明していきます。

3つの配列とは、List, Array, ArrayListのことでそれぞれの以下の特徴があります。

配列特徴
List要素の変更:不可
要素数の変更:不可
Array要素の変更:可
要素数の変更:不可
ArrayList要素の変更:可
要素数の変更:可

List

Listは先ほど説明した通り、要素の変更も、要素数の変更も許されていません。読み取り専用なので当たり前といえば当たり前ですね。

Array

Arrayは、要素の変更は許されているが、要素数の変更は許されていない配列です。例をみてみましょう。

値の変更が確認できますね。

しかしこのように要素の追加は許されていません。

ArrayList

さて、最後のArrayListは変更も追加も許されている配列です。

変更と追加が確認できますね。

まとめ

本日は、KotlinのListやその他の配列について詳しく説明していきました。

用途にあったものを使えるようになると、メモリ効率もいいですしバグを未然に防げるのでぜひマスターしておきましょう!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

かい

かい

日向徹かこよすぎか

[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説