1

我有以下代码:

List<Check<String, String>> listAdd = new ArrayList<Check<String, String>>();
    for (list1<String, String> h : list1_a) {
        for (list2<String, String> s : list2_a) {
            if (condition) { 
                //if(!listAdd.contains(Check(h.getString(),s.getString())
                listAdd.add(new Check(h.getString(),s.getString()));
            }
        }
    }

当列表中有列表时,我无法理解如何使用包含。请帮忙。谢谢

4

2 回答 2

2

尝试这个:

if (condition) {
   Check c = new Check(h.getString(), s.getString());
   if (!list.contains(c)) {
       list.add(c);
   }
}

确保你已经在类equals()hashCode()实现了方法。Check

java.util.List另一种方法是使用接口的某些实现来切换java.util.Set。子类支持内部的java.util.Set唯一对象,因此您将不再需要担心某个对象是否存在是您的集合。

于 2013-05-22T17:13:08.773 回答
0

试试这个代替//if(!listAdd.contains(Check(h.getString(),s.getString());

if(!listAdd.contains(new Check(h.getString(),s.getString());
于 2013-05-22T20:32:13.047 回答