2016-03-31 10 views
0
で地図引数

からセットを更新します。文字列は個人番号を表し、整数はそれぞれの売上高を表します。マップエントリは、特定の順序である必要はありません。は、私は、この学校の質問は持っているJavaの

personSetでpersonごとに、そのpersonNumberがマップ内のキーの1つであるかどうかをチェックする必要があります。そうであれば、その人物の売上は、そのキーに対応するマップ値だけ増やす必要があります。

これは私が持っているコードですが、明らかに間違っています。

public void updatePersons (Map<String, Integer> pers) 
    { 
    for (Persons all : personSet) 
    { 
     if (all.getPersonNumber().equals(pers.keySet())) 
     { 
      personSet.add(pers); 
     } 
    } 
    } 
+0

'personSet'には' Persons'オブジェクトが含まれています。そのセットをMapから取得した 'Integer'値でどのように更新するつもりですか? – Eran

+1

これはあまり意味がありません。私はあなたのデータモデルに欠陥があるかもしれないと思います..あなたの質問に少し抽象化のレベルを上げて、おそらくより多くのコンテキストを提供してください。 –

+0

'Persons'クラスのコードを提供してください。 – slartidan

答えて

0

コードの多くは、私はいくつかの仮定に取り組んでいる欠けているので:

あなたがマップに基づいてセット内の人物の参照番号を更新したい場合は、このようにそれを行うことができます:

すべての人に対して繰り返し、人物番号に関連付けられた値をマップに照会します。そのような値が存在する場合は、その人物を更新し、次の人物に進む。

参照番号を使用してセットをソートする場合は、オーダーを保存するためにその人物を削除して再挿入する必要があることに注意してください。

+0

私は質問を更新しましたが、回答はまだ立っていますか?ありがとうございました! – seawork

+0

@seaworkはい回答は「その人物の売上はそのキーに対応する地図値で増やす必要があります」という差異だけであり、設定するのではなく値を追加する必要があります。それ以外は、矛盾したステートメント/コードでマスクする前に、最初から質問/タスクの権利を教えてください。 – Thomas

+0

私は何かの仲間をマスクしようとしていなかった、私は質問を簡単に保つようにしていた。ありがとう – seawork

関連する問題