0

パラメータString,Stringを持つ numericValueMap と呼ばれる Linkedhashmap があります。

{a=1,b=1,c=2,d=3,e=5}

そして、方程式と呼ばれるArraylistがあります:

{ e, -, a, +, b, -, c, *, d, +, b}

私がやりたいことは、Arraylist の項目を Linkedhashmap の正しい値に置き換えることです。これまでの私の試みは次のとおりです。

for (final String key: numericValueMap.keySet()) {
for (int i = 0, n = equation.size(); i < n; i++) {
String algebraItems = (String) equation.get(i);

if(algebraItems.contains(key)) {
    String newNum = algebraItems.replace(algebraItems, ?);
    equation.set(i,newNum);

  }
 }
 }

このコードは、Arraylist を対応する Linkedhashmap キーと比較するポイントまで機能します。ただし、現在の知識では、Arraylist アイテムを正しい値に置き換えることはできません。どのコードを使用する必要があるかについてのアイデアはありますか?

4

2 に答える 2

1

私があなたを正しく理解していれば -

int index =0;
if((index = arrayList.get(element))>=0)
    arrayList.set(index,replaceElement);
于 2013-01-27T14:12:59.790 に答える
0

LinkedHashMap を反復処理し、次のように各項目 KEY と VALUE にアクセスすることで機能します。

for (Iterator<Entry<String, String>> it = numericValueMap.entrySet().iterator(); it.hasNext();) {
            Entry<String, String> e = it.next();
            String key = e.getKey();
            String value = e.getValue();
于 2013-01-27T14:32:47.603 に答える