2016-08-19 6 views
-2

私はjavaで作業しています。出口がある場合はdata structureに組み込まれている必要があります。 dataの下に私の心の中の単なる例です。例:このデータがある場合。Javaでデータを格納するためのデータ構造が必要です

data = [('A' , 'valueA0'),('A' , 'valueA1'), 
       ('B' , 'valueB0'),('B' , 'valueB1'), 
       ('C' , 'valueC0'),('C' , 'valueC1'), 
         ] 

data["B"][0]のようにアクセスするには、それはvalueB0を返し、data["B"][1]を返します。それは返す必要がありますvalueB1

私のニーズを満たしてjavadata structure出口がありますか?

+2

[地図](https://docs.oracle.com/javase/7/docs/api/java/util/Map.html)について聞いたことがありますか? – SomeJavaGuy

+1

javaは演算子のオーバーロードの仕組みを提供していません。 '[" B "]'はマップの '.get(" B ")' – Andrew

+0

に置き換える必要があります@KevinEsche私はそれに取り組んだが、 BMWの?このコードから 'Map vehicles = new HashMap(); \t vehicles.put( "BMW"、5); \t vehicles.put( "BMW"、7); \t vehicles.put( "Mercedes"、3);\t vehicles.put( "Audi"、4); \t vehicles.put( "Ford"、10); \t \t System.out.println(vehicles.get( "BMW")); ' – Humty

答えて

1

コメントに記載されているとおり、Mapを使用してください。私が正しくあなたの質問を理解していれば

また、これはあなたがJavaでやろうとしているものである:

構造:

Map<String, List<String>> map = new HashMap<>(); 

それを初期化する方法:

List<String> a = new ArrayList<>(); 
a.add("valueA0"); 
a.add("valueA1"); 

List<String> b = new ArrayList<>(); 
a.add("valueB0"); 
a.add("valueB1"); 

List<String> c = new ArrayList<>(); 
a.add("valueC0"); 
a.add("valueC1"); 

map.put("A", a); 
map.put("B", b); 
map.put("C", c); 

使用方法:

String a0 = map.get("A").get(0); 
+0

B。しかし、あなたの提案には複数の配列があります。それは単に記憶の浪費である。 – Humty

+0

それはあなたが求めているものなので、私は "メモリを浪費する"ことはできません...あなたが正しく質問されていることを理解していない限り –

関連する問題