/** * Returns true if the given object is an instance of PointSet2D that contains the same number of * points, such that iteration on each set returns equal points. */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (!(obj instanceof PointSet2D)) return false; PointSet2D set = (PointSet2D) obj; if (this.points.size() != set.size()) return false; Iterator<Point2D> iter = set.iterator(); for (Point2D point : points) { if (!point.equals(iter.next())) return false; } return true; }