2016-09-21 18 views
0

Arrayを別の内部に入れる方法はありますかArray/ArrayList、タイプが異なりますか?例:ArrayListにクラス名を付け、各インデックスの内部にArrayの統計情報を設定する場合。配列の種類リスト

+1

オブジェクトの配列を作成することは可能ですが、データを処理するための優れたデータ構造ではありません。 –

+0

辞書を見ることをお勧めします。好きな方法でインデックスを使うことができます。そこでは、リスト(またはJavaの亜種)のような値を使うことができます。しかし、特に効率的ではありません。 通常、より良い方法で作業するので、より多くの情報を提供することをお勧めします。 – Nickvda

+0

@DavideLorenzoMARINOそして、私が前に述べたようなクラスを作成する効率的な方法は何でしょうか? – AnUnnoticedPotato

答えて

0

20種類のデータ構造だけを処理する必要がある場合は、各データ構造に対してカスタムクラスを作成するのが最も読みやすいという点で優れています。最終的にクラスと共通インターフェースのgerarchiesを作成することを検討してください。


異なる種類のデータを保持するための汎用データ構造を構築する必要がある場合は、さまざまな手法を使用できます。

あなたは、次のようなシンプルな地図を使用できるフィールドの順序に気にしない場合:あなたはLinkedHashMapを使用できるフィールドの順序をmantainする必要がある場合は

Map<String, Object> complexObject = new HashMap<>(); 
complexObject.put("name", "John"); 
complexObject.put("lastName", "Smith"); 
complexObject.put("age", 30); 

を:

予測可能な反復順序を使用して、Mapインターフェイスのハッシュテーブルとリンクリストの実装。

このデータ構造は、例えば、また、ネストされたレベルを保持することができます:

Map<String, Object> person = new HashMap<>(); 
person.put("name", "John"); 
person.put("lastName", "Smith"); 
person.put("age", 30); 

Map<String, Object> address = new HashMap<>(); 
address.put("city", "Rome"); 
address.put("country", "Italy"); 

person.put("address", address); 

List<String> preferredColors = new ArrayList<>(); 
preferredColors.add("Red"); 
preferredColors.add("Blue"); 

person.put("preferredColors", preferredColors); 

を最終的には、カスタムクラス内地図を非表示にすることも検討することができ、「ComplexData」を追加するための唯一の方法を公開していますか、プロパティを設定してプロパティを取得し、最終的にプリミティブデータ型を取得する特定のメソッドを追加して、返された値を手動でキャストする必要はありません。

関連する問題