2017-05-18 1 views
0

たとえば、キー= "ブック名"と値=(キー= "価格"を保持する辞書型レコードを作成しようとしています: $ 250、key = "qty":10)。これを達成する最も簡単な方法は、Javaですか?私はそれらの値のための別のクラスオブジェクトを作成することによって試しました。外部キーの値の複数のキーと値のペアを持つ最良のアプローチ

public class book_info { 
int price = 0; 
int qty = 0; 

public void book_info(int qty, int price){ 
    this.qty = qty; 
    this.price = price; 
    } 
} 

を作成し、HashMapインスタンスを作成します。

Map <String, book_info> items = new HashMap<String, book_info>(); 
items.put("Book1", new book_info(600, 20)); 
items.put("Book2", new book_info(200, 30)); 
items.put("Book3", new book_info(100, 50)); 

これは、正常に動作代わりにちょうどこのようなハッシュマップの初期化中に複数のキーと値のペアを追加することによって、別のクラスのオブジェクトを使用しないことにより、他の代替方法があります。

Map <String, <<String, Integer>,<String, Integer>>> items = new HashMap<String, <<String, Integer>,<String, Integer>>>(); 
+0

あなたの最善のアプローチOOを使用することです:終わりのマップすることができ、それら[[キー1、をvalue1] [KEY2、] VALUE2]キーは答えが見るようにオブジェクトを使用しての詳細についてになりますあなたが始めたようにドメインをモデリングしてください。しかし、私は 'BookInfo'オブジェクトにタイトルを追加します。また、将来的にはより大きな柔軟性を提供します。 – KevinO

+0

私はあなたが 'Map >'を探していると思います。しかし、あなたが今あるものははるかに優れています。 – shmosel

答えて

関連する問題