从使用Array到使用有序List重写方法

时间:2017-05-31 11:44:57

标签: java arrays linked-list

我必须写两次方法。一旦使用Array并使用链接列表一次。 任务是绘制一个多边形。这些点保存在数组或链接列表中。

我已经完成了第一部分(数组并且它完美运行)

public void draw() {
        Drawing.graphics.setColor(this.color);
        int[]xPoints = new int[this.points.size()];
        int[]yPoints = new int[this.points.size()];
        for(int i = 0; i < this.points.size();i++){
            Position p = this.points.get(i);
            xPoints[i] = p.getX()+this.origin.getX();
            yPoints[i] = p.getY()+this.origin.getY();
        }
        Drawing.graphics.fillPolygon(xPoints,yPoints,this.points.size());

    }

现在我只是不知道如何仅使用链接列表编写相同的方法。 这就是我走了多远。它并不多......

public void draw() {
        Drawing.graphics.setColor(this.color);
        PolygonList list = new PolygonList(this.points.size(),this.points.size(), this.color);
            Drawing.graphics.fillPolygon(list.origin.x,list.origin.y,this.points.size());       
    }

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

不要复制代码。将现有代码解压缩到类似drawPolygon(List<Position> positions)的参数的方法。因此,您可以使用数组和列表调用此方法:

drawPolygon(Arrays.asList(points));
drawPolygon(pointsAsList);