ここで問題が発生しました。文字列のリストとフロート値をエントリとして保存する必要があります。を使用することを考えていますHashMap
が、それはいくつかの問題を引き起こしています。
float 値に対して 3 つの String 値を 1 つのエントリに格納したいと考えています。このようなもの
"X","Y","Z" -> 0.5
"P","Q","R" -> 0.2
"Y","X","Z" -> 0.6
問題は、3 つのキー値の順序が一意であるため、繰り返してはならないということです。私はこれらのようなことを試みています
HashMap<List<String>, Float> q= new HashMap<List<String>, Float>();
しかし、一意性などを維持するために何もしないと思うので、値を挿入することはできません
q.put(["N","V","D"], 0.5F);
//The above gives error
告白
このアプローチを提案されましたが、実装方法がわかりませんMyKeyClass
。これが正しい方法である場合は、これで私を助けてください!!
Map<MyKeyClass, Integer> map = new HashMap<MyKeyClass, Integer>();
map.put(new MyKeyClass("A", "B","C"), 1);
map.put(new MyKeyClass("A", "C","B"), 2);