String
リスト内の値を検索するために、ユーザーに a を入力させようとしています。これは問題なく動作String
しますが、数値も必要です。このようにして、リスト価格で特定のアイテムを取得できます。私は試した:
public List<String, double>
ただし、これにより常にエラーが発生します。文字列とそれに対応する数値を格納するにはどうすればよいですか?
マップを使用します。
Map<String, Double> someMap = new HashMap<String, Double>();
次に、 and を使用Map#put(K, V)
しMap#get(K)
て値を入れたり取得したりできます。
マップのドキュメントも参照してください。
Java 7 以降では、コンストラクターの宣言内でジェネリック型を省略できます。
Map<String, Double> someMap = new HashMap<>();
と のみを格納しString
ますDouble
か?それとも、最終的に各オブジェクトに関するより多くの情報を格納する必要がありますか?
たとえば、名前と価格の保存について話しているとします。これがショッピングのようなプログラムの場合は、各製品のすべての情報を新しいクラスに格納し、そのクラスをHashMap
. 例えば..
// Class for your product and all related information...
public class Product {
String name;
double price;
String color;
double weight;
public Product(String name, double price, String color, double weight){
this.name = name;
this.price = price;
this.color = color;
this.weight = weight;
}
}
// Now add each Product to a HashMap (in your main class)...
HashMap<String,Product> products = new HashMap<String,Product>();
products.put("Cheese", new Product("Cheese",1.10,"Yellow",0.5);
products.put("Milk", new Product("Milk",2.0,"White",1.5);
HashMap
その後、 forを照会できるようになり、そのすべての情報を"Cheese"
取得できます...Product
Product cheese = products.get("Cheese");
double price = cheese.getPrice();