フリープログラマー日記

iOS,アンドロイド開発を気ままにしながら生きてるおじさんのブログです。

第31回 JAVA の ArrayLiist は便利!

 アプリの画面が少しだけ前に進んでいます。
懸案だった横に長い氏名表示域を短くし、右側にエントリーされた選手名を表示するようにしました。

f:id:momonga117:20180529200450p:plain

 注目すべきは、タップした順に出場者が表示されている事で、なんとこれは自然になってしまったというjava の仕様なんですね。
 最初考えたときはそうなればいいなと思ったけど、面倒なプログラムが必要だろうな、やめようかなと思っていたのですが、ArrayListを使うと後ろに追加、要素を探して削除、というのがとても簡単にできるのです。

 まず、次のようなstatic なデータ置き場を作っていきます。

import java.util.ArrayList;

public class EntryNames {

    static ArrayList<String> entryMember = new ArrayList<>();

    public static ArrayList<String> getEntryMember() {
        return entryMember;
    }

    public static void addEntryName(String name) {
        entryMember.add(name);
    }

    public static void removeName(String name) {
        entryMember.remove(name);
    }

    public static int count() {
        return entryMember.size();
    }
}

最初の static ArrayList entryMember = new ArrayList<>(); がデータの本体です。初期化を忘れずに。
これは、氏名(文字列)の入れ物となります。
氏名を入れるのは メソッドの entryMember.add(name); で引数の名前を追加してくれます。
そして、entryMember.remove(name); でその名前と同じ要素を削除してくれます。
 なんと素晴らしい事。こんな簡単に実現するのだ。驚き。

そして、これは static なものだから、別のクラスから簡単にアクセスできてしまう。

結論から言うと、データの共有化は static に限る!

ちょっと
言い過ぎですかね。

でも、実際、左側の名簿から、右側のリストにどうやって名前を移すか、すごい長い時間、考えていました。
一歩前進です。

次は swift でやってみよう。