キーと値のペアが必要ですが、それを反復処理する必要がありますが、最後の反復から&
を削除する必要があります。Javaマップの現在のエントリが最後であるかどうかを判断する方法
私のキーと値のMapオブジェクトは次のように定義されています。私のような私の反復を行う
private Map<String, String> additionalAttributes = new HashMap<String,String>();
:
for(Entry<String,String> i : additionalAttributes.entrySet()) {
attributes += i.getKey() + "=" +i.getValue() + "&";
}
は、現在のエントリi
が最後である場合、私は判断することができますどのような方法があります地図のエントリ?地図は、実行するたびにサイズと内容が変化するので、私は動的な解決策が必要です。
ちょうどあなたが反復終わったら、末尾に「&」を削除。 –
これは簡潔な質問がより良い答えを得る理由です: – Alfabravo
質問は閉じているので、あなたは文字通りの質問は決して直接の答えを得ることはありません。あなたが本当に "最後のアイテム"に関する知識が必要であり、あなたが与えた例が欺瞞的であるならば、あなたはAPIを掘り下げる必要があります。 entrySet()コールは反復子を返します(これが反復処理の対象です)。 Iteratorには関数呼び出し "hasNext()"があり、それ以上の項目がある場合はtrueを返し、最後の項目の場合はfalseを返します。これは、あなたがこのケースで文字通りの答えを必要とするかどうかを判断する方法です。 :) –