0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

kotlinとjavaでリストを作りたい!

Last updated at Posted at 2020-08-17

はじめに…

この記事は2個前の記事で書いた、

7日間毎日記事投稿の3日目

になってます

使うコードは下に貼りますが、このアプリの詳しい機能はその2個前の記事をご覧ください!

↓ここからが今回の記事の本題です↓

それぞれの言語でリストを扱うには…

-- 目次 --

  1. Arraylistの作り方

  2. 要素を追加・削除する方法

  3. 要素数を取得する方法

  4. リストの中身を逆順・シャッフルする方法

  5. 中身を違うリストにコピーする方法

ArrayListの作り方

  • javaの場合
ArrayList<要素の型>変数名 = new ArrayList<>();

例)

WhoActivity.java
ArrayList<String>memberL = new ArrayList<>();  // 20行目

変数定義と大きく異なっている

  • kotlinの場合
val/var 変数名:ArrayList<要素の型> = arrayListOf()

例)

WhoActivity.kt
var memberL:ArrayList<String> = arrayListOf()  // 13行目

リストの中身の指定方法以外は変数定義とよく似ている

要素の型を指定する方法は両者ともよく似ている

要素を追加・削除する方法

  • javaの場合
// 追加
リスト名.add(要素);
// 削除
リスト名.remove(要素の場所);

例)

WhoActivity.java
//追加
memberL.add(memberET.getText().toString());  // 82行目
ResultActivity.java
// 削除
memberL.remove(0);  // 46行目
  • kotlinの場合
// 追加
リスト名.add(要素)
// 削除
リスト名.remove(要素)

例)

WhoActivity.kt
// 追加
memberL.add(member_et.text.toString())  // 54行目
ResultActivity.kt
// 削除
memberL.remove(memberL[0])  // 37行目

追加の仕方は同じだが、削除するときは対象の要素を指定するために使用する物が違う

要素数を取得する方法

  • javaの場合
リスト名.size();

例)

resultActivity.java
int memberNum = memberL.size();  // 33行目
  • kotlinの場合
リスト名.size

例)

ResultActivity.kt
val memberNum = memberL.size  // 24行目

javaは.size()、kotlinは.sizeとよく似ている

リストの中身を逆順・シャッフルする方法

  • javaの場合
// 逆順
Collections.reverse(リスト名);
// シャッフル
Collections.shuffle(リスト名);

例)

WhoActivity.java
// 逆順
ArrayList<String> memberLR = (ArrayList<String>) memberL.clone();  //84行目
Collections.reverse(memberLR);

※ 1行目の処理内容は「中身を違うリストにコピーする方法」参照

resultActivity.java
// シャッフル
Collections.shuffle(memberL);  // 34行目
  • kotlinの場合
// 逆順
リスト名.reverse()
// シャッフル
リスト名.shuffle(Random())

例)

WhoActivity.kt
// 逆順
var memverLR = ArrayList<String>(memberL)  // 56行目
memverLR.reverse()

※ 1行目の処理内容は「中身を違うリストにコピーする方法」参照

ResultActivity.kt
// シャッフル
memberL.shuffle(Random())  // 25行目

書き方は大きく違うがどちらも
逆順の場合は「reverse」、シャッフルの場合は「shuffle」というのがキーワードとなっている

中身を違うリストにコピーする方法

  • javaの場合
ArrayList<要素の型> 変数名 = (ArrayList<要素の型>) コピーするリスト名.clone();

例)

WhoActivity.java
ArrayList<String> memberLR = (ArrayList<String>) memberL.clone();  // 84行目
  • kotlinの場合
val/var 変数名 = ArrayList<要素の型>(コピするリスト名)

例)

WhoActivity.kt
var memverLR = ArrayList<String>(memberL)  // 56行目

javaは.clone()を使用し、kotlinはリスト定義の方法と少し書き方が変わる

最後に…

今回はjavaとkotlinでリストの定義をしました。
まだまだたくさんの機能があると思うので、またほかのコードで出てきた際に記事にできたらなと思います。

また、1日目に記載した予定から今日以降の予定を少し変更しました。
その記事の予定も変更しておくので、あまり関係ないですが
一応自分のメモ用としてもここに記載しておきます。

明日も記事を投稿するので、引き続き温かく見守ってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?