androidとiOSにおける配列、連想配列等のミュータブルコレクションの最善の初期化手法
プログラミングの極意は、ロジックはコード化せずにデータ構造で定義することによって、圧倒的にプログラムを簡素化することである。
そのためにはC言語の構造体配列に当たるクラス配列やクラス連想配列でどうやってデータ構造を定義したらよいか理解する必要がある。
iOSでは、データ構造化のためのコレクションとして、NSArray、NSDictionaryが用意されている。
そのミュータブルコレクションとして、NSMutableArray、NSMutableDictionaryを使用する。
androidではミュータブルコレクションとして、List、Mapが用意されている。
実装には、ArrayList、HashMapを使用する。
iOSとandroidはそれぞれObjectiveCとJavaをプログラミング言語として使用するが、一般的にはJavaのほうが簡単だが、それぞれのプラットフォーム上でそれぞれのフレームワークを使用する場合は、何を実現するのかによって、どちらの方が実現が簡単かは変わる。
android
・Activity#onCreateで配列定義を行う。
// 配列List<String> a = new ArrayList<String>() { { add("あいうえお"); add("かきくけこ"); }};// 連想配列Map<String, String> a = new HashMap<String, String>() { { put("key1", "あいうえお"); put("key2", "かきくけこ"); }};
iOS
・UIViewController#viewDidLoadで配列定義を行う。
// 配列NSMutableArray *a = [@[ @"あいうえお", @"かきくけこ" ] mutablecopy];// 連想配列NSMutableDictionary *a = [@{ @"key1" : @"あいうえお", @"key2" : @"かきくけこ"} mutablecopy];