0

我有一个名为 numericValueMap 的 Linkedhashmap,其参数为String,String

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

我有一个名为 equation 的 Arraylist:

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

我想要做的是用 Linkedhashmap 中的正确值替换 Arraylist 中的项目。到目前为止,这是我的尝试:

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 Key 进行比较的点。但是,以我目前的知识,我无法用正确的值替换 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 回答