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