Java Reference
In-Depth Information
Try It Out - Using the General Linked List
We can now define the PolyLine class so that it uses a LinkedList object. All we need to do is to
put a LinkedList variable as a class member that we initialize in the class constructors and implement
all the other methods we had in the previous version of the class to use the LinkedList object:
public class PolyLine {
// Construct a polyline from an array of coordinate pairs
public PolyLine(double[][] coords) {
Point[] points = new Point[coords.length]; // Array to hold points
// Create points from the coordinates
for(int i = 0; i < coords.length ; i++)
points[i] = new Point(coords[i][0], coords[i][1]);
// Create the polyline from the array of points
polyline = new LinkedList(points);
}
// Construct a polyline from an array of points
public PolyLine(Point[] points) {
polyline = new LinkedList(points); // Create the polyline
}
// Add a Point object to the list
public void addPoint(Point point) {
polyline.addItem(point); // Add the point to the list
}
// Add a point from a coordinate pair to the list
public void addPoint(double x, double y) {
polyline.addItem(new Point(x, y)); // Add the point to the list
}
// String representation of a polyline
public String toString() {
StringBuffer str = new StringBuffer("Polyline:");
Point point = (Point) polyline.getFirst();
// Set the 1st point as start
while(point != null) {
str.append(" ("+ point+ ")"); // Append the current point
point = (Point)polyline.getNext(); // Make the next point current
}
return str.toString();
}
private LinkedList polyline; // The linked list of points
}
You can exercise this using the same code as last time - in the TryPolyLine.java file. Copy this file
to the directory for this example.
Search WWH ::




Custom Search