はじめに…
この記事は2個前の記事で書いた、
7日間毎日記事投稿の3日目
になってます
使うコードは下に貼りますが、このアプリの詳しい機能はその2個前の記事をご覧ください!
↓ここからが今回の記事の本題です↓
それぞれの言語でリストを扱うには…
-- 目次 --
-
Arraylistの作り方
-
要素を追加・削除する方法
-
要素数を取得する方法
-
リストの中身を逆順・シャッフルする方法
-
中身を違うリストにコピーする方法
ArrayListの作り方
- javaの場合
ArrayList<要素の型>変数名 = new ArrayList<>();
例)
ArrayList<String>memberL = new ArrayList<>(); // 20行目
変数定義と大きく異なっている
- kotlinの場合
val/var 変数名:ArrayList<要素の型> = arrayListOf()
例)
var memberL:ArrayList<String> = arrayListOf() // 13行目
リストの中身の指定方法以外は変数定義とよく似ている
要素の型を指定する方法は両者ともよく似ている
要素を追加・削除する方法
- javaの場合
// 追加
リスト名.add(要素);
// 削除
リスト名.remove(要素の場所);
例)
//追加
memberL.add(memberET.getText().toString()); // 82行目
// 削除
memberL.remove(0); // 46行目
- kotlinの場合
// 追加
リスト名.add(要素)
// 削除
リスト名.remove(要素)
例)
// 追加
memberL.add(member_et.text.toString()) // 54行目
// 削除
memberL.remove(memberL[0]) // 37行目
追加の仕方は同じだが、削除するときは対象の要素を指定するために使用する物が違う
要素数を取得する方法
- javaの場合
リスト名.size();
例)
int memberNum = memberL.size(); // 33行目
- kotlinの場合
リスト名.size
例)
val memberNum = memberL.size // 24行目
javaは.size()、kotlinは.sizeとよく似ている
リストの中身を逆順・シャッフルする方法
- javaの場合
// 逆順
Collections.reverse(リスト名);
// シャッフル
Collections.shuffle(リスト名);
例)
// 逆順
ArrayList<String> memberLR = (ArrayList<String>) memberL.clone(); //84行目
Collections.reverse(memberLR);
※ 1行目の処理内容は「中身を違うリストにコピーする方法」参照
// シャッフル
Collections.shuffle(memberL); // 34行目
- kotlinの場合
// 逆順
リスト名.reverse()
// シャッフル
リスト名.shuffle(Random())
例)
// 逆順
var memverLR = ArrayList<String>(memberL) // 56行目
memverLR.reverse()
※ 1行目の処理内容は「中身を違うリストにコピーする方法」参照
// シャッフル
memberL.shuffle(Random()) // 25行目
書き方は大きく違うがどちらも
逆順の場合は「reverse」、シャッフルの場合は「shuffle」というのがキーワードとなっている
中身を違うリストにコピーする方法
- javaの場合
ArrayList<要素の型> 変数名 = (ArrayList<要素の型>) コピーするリスト名.clone();
例)
ArrayList<String> memberLR = (ArrayList<String>) memberL.clone(); // 84行目
- kotlinの場合
val/var 変数名 = ArrayList<要素の型>(コピーするリスト名)
例)
var memverLR = ArrayList<String>(memberL) // 56行目
javaは.clone()を使用し、kotlinはリスト定義の方法と少し書き方が変わる
最後に…
今回はjavaとkotlinでリストの定義をしました。
まだまだたくさんの機能があると思うので、またほかのコードで出てきた際に記事にできたらなと思います。
また、1日目に記載した予定から今日以降の予定を少し変更しました。
その記事の予定も変更しておくので、あまり関係ないですが
一応自分のメモ用としてもここに記載しておきます。
明日も記事を投稿するので、引き続き温かく見守ってください。