' P '

whatever I will forget

Java arraylist

ArrayListなるものをメモ。
複数オブジェクトを動的に格納したい場合にいいようです。
- 使用するには、import java.util.ArrayListが必要。
- Primitive TypeのArrayListは作れない。intとか。クラスじゃないから。Stringは作れるのは、Stringは根本的にはクラスだから。
- ArrayListのオブジェクトを生成する必要がある。
- いろんな便利な関数が用意されている。addとか。

import java.util.ArrayList;

public class arraylist {
    public static void main(String[ ] args) {
        ArrayList<String> test = new ArrayList<String>();
        test.add("a");
        test.add("b");
        test.add("c");
        test.add("d");
        test.remove("d");
        
        System.out.println(test);
    }
}

4/14 追記

ArrayList<String>();のところ、不思議に思いません?実はこれclassらしいです。
なので、引数無しのコンストラクタを呼び出している模様。
完全にcalssのobejctを作成していると思えばよいですね.

arraylistのサイズを知る

test.size()

arraylistに値をセットする

test.set(position, value)

arraylistから値を取り出す

test.get(position)

arraylistに対象の値があるかどうか探す

test.contains(String) これはbooleanが返る。Stringの値があればtrue.

test.indexOf(String) これはarraylistのindex値が返る。-1の場合は無いよ〜ってこと

arraylistのコピー

ArrayList<String> newArray = new ArrayList<String> ();
いま、testというarraylistがある状態で、newArrayにコピーする方法を3つメモ
1. newArray.addAll(test)を使う
2. testを元にnewArrayを作成する
ArrayList<String> newArray = new ArrayList<String> (test);
3. 普通のArrayを作成してからarraylistにコンバートする

String[] tmpArray = new String[test.size()];
newArray = test.toArray(tmpArray);

上記は、とりあえず簡単にするためtestをそのまま書いていますが、実際はarraylistをいじるclassがあったりして(addとかremoveとかしているclass)
そこにarraylistのgetterを作って、それらをcallして呼ぶ方法がメジャーかもしれません