を比較します次に、第1のマップの値に第2のマップ値のリスト(類似のキー用)を掛けます。 その後、私は乗算からdouble型の配列を持つことになります。次に、各インデックスの値を合計したいと思います。例についてはは、私は2つのTreeMap</p> <p>最初のマップがある持っている2つのTreeMapの
:
地図1:
Apple : 1.0
Cat:2.1
Dog:1.2
マップ2:
Apple:{2.0,0.0,4.0}
Dog {1.1,0.0,0.0}
Moon:{0.0,5.0,2.0}
結果は次のようになります。
Apple{2.0,0.0,4.0}
Dog{1.32,0.0,0.0}
その後合計:
{3.32,0.0,4.0}
これは私の試みです。私は2つの行列の間で検索を行い、次に乗算を行います。
***私の質問各インデックスの総和とspesficインデックスの値を取得する方法を教えてください。添加の可換性を考える
for (Map.Entry<String,Double> entry : m1.entrySet()) {
List<Double> myList = new ArrayList<Double>();
if (m2.containsKey(entry.getKey())) {
//if the key is common in map1 and map2, compare the values
double y=entry.getValue();
double j[]=m2.get(entry.getKey());
for (int u=0;u<j.length;u++){
myList.add(j[u]);
}
for (int i=0;i<myList.size();i++){
System.out.println(entry.getKey()+" "+myList.get(i)*y);
}
}}
ここでは、containsKeyの後にgetが続くというコンビネーションはちょうど時間の無駄です。ちょうどgetを使って、それがnullであるかどうかを確認してください。 – MeBigFatGuy
あなたの再生のために@MeBigFatGuy Thxしかし、私はそれを持っていません;(、あなたはもっと説明できますか? – Geek
double j [] = m2.get(entry.getKey()); if(j!= null){ 。 .... } – MeBigFatGuy