用Linkedhashmap VALUE替换ArrayList项

时间:2013-01-27 14:07:05

标签: java arraylist linkedhashmap

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

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

我有一个名为等式的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项。关于我必须使用什么代码的任何想法?

2 个答案:

答案 0 :(得分:1)

如果我理解正确 -

int index =0;
if((index = arrayList.get(element))>=0)
    arrayList.set(index,replaceElement);

答案 1 :(得分: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();