.Equals()在迭代hashmap时不起作用

时间:2016-10-10 16:55:34

标签: java

enter image description here我有一个hashmap,我需要将String数组的值与某些字符串进行比较,并删除相同的字符串。在这个例子中,我知道某个索引=“RES”的String [],但是当我遍历if(equality)语句时,每次都返回false。只需扩展hashmap,我是否必须担心重写.equals()? if语句有什么问题?

public void filter(){
    Iterator<Map.Entry<String, String[]>> iter = this.entrySet().iterator();
    while(iter.hasNext()){
        Map.Entry<String,String[]> entry = iter.next();
        String[] current = entry.getValue();
        if(current[0].trim().equalsIgnoreCase("RES")){  
            this.remove(entry.getKey());
        }          
    }
}

1 个答案:

答案 0 :(得分:1)

替换:

this.remove(entry.getKey());

使用:

iter.remove();