私はprops
という名前のPropertiesのインスタンスを持っています。次のようにキーと値の内容は以下のとおりです。プロパティの内容を更新するインスタンス
"a" : "apple"
"c" : "orange"
"b.1" : "tea"
"b.2" : "coffee"
"b.3" : "coke"
...
(各キーは一意である。)私が達成したい何
は次のとおりです。
私はキー
b.<number>
で唯一興味を持って、I には値water
が必要です。が値
water
であるが、キーb.<x>
で、代わりに、キーb.1
でない場合には、その後、私はb.1
&b.<x>
の値を入れ替えます。値
water
がない場合、私はProperties
インスタンスで"b.1" : "water"
を挿入した後、1キーb.<number>
の番号部分を増やします。
私はこのコードでそれを実装するために開始しました:
// initialize a HashMap
Map<String, String> propMap = new HashMap<String, String>();
// check what are the property key-values
Set<Object> keySet = props.keySet();
for (Object key : keySet) {
String keyStr = (String) key;
String valueStr = props.getProperty(key);
if (keyStr.startsWith("b.")) {
// if it is not value "water"
if (!valueStr.equals("water")) {
// I get lost...
}
}
}
私はプロパティを通じて複数回ループさせずに効率的な方法でこれを実装する方法がわからないです...
3番目の箇条書きは、b.1 = waterを挿入し、他のすべての値を1だけ増やすことを意味しますか? – bphilipnyc
@bphilipnyc、はい、正確です。 –
さて、私の答えは動作します – bphilipnyc