如果列表不为空并且列表中已经不存在,如何将对象添加到列表中?

时间:2014-03-16 18:21:25

标签: java list

例如

private ArrayList<Circles> circles;

现在我需要一个像这样的方法

public boolean addCircle(Circle circle) {
}

如何在满足标题要求的同时这样做?

3 个答案:

答案 0 :(得分:4)

您可以在contains()上使用ArrayList方法。但是,随着列表变大,这将变得越来越慢。

除非您确实需要List语义,否则您应该考虑使用Set,因为这些可以防止重复。如果您希望在迭代时保持广告订单顺序(例如List),那么您可以使用LinkedHashSet

答案 1 :(得分:0)

请参阅ArrayList.contains方法,了解如何检查项目是否在列表中 您可以使用add方法将项​​目添加到列表中。

答案 2 :(得分:0)

private ArrayList<Circle> circles;

public boolean addCircle(Circle circle) {
    if(circle != null && circles != null && !circles.contains(circle)){
        circles.add(circle);
    }

}

但请记住,您必须覆盖圈子类中的equals方法。因为contains方法在内部调用.equals&amp; .hashcode方法。