/*
* 練習問題2.16 p.59
* リスト内の要素の数を返すメソッドをLinkedListに追加しなさい。
*/
package ch02.ex02_16;
public class LinkedList
{
private Object object;
private LinkedList nextObject;
public int getObjectNumber()
{
int objectNumber = 0;
LinkedList next = nextObject;
while (true)
{
objectNumber++;
if (next == null)
{
break;
}
else
{
next = nextObject.getNextObject();
}
}
return objectNumber;
}
public Object getObject()
{
return object;
}
public void setObject(Object target)
{
object = target;
}
public LinkedList getNextObject()
{
return nextObject;
}
public void setNextObject(LinkedList target)
{
nextObject = target;
}
LinkedList(Object associatedObject)
{
object = associatedObject;
nextObject = null;
}
public String toString()
{
String desc = "This method is toString of LinkedList!";
return desc;
}
/**
* @param args
*/
public static void main(String[] args)
{
Vehicle temporary = new Vehicle();
LinkedList test = new LinkedList(temporary);
temporary = new Vehicle();
test.setNextObject(new LinkedList(temporary));
System.out.println(((Vehicle) test.getObject()).id);
System.out.println(((Vehicle) test.getNextObject().getObject()).id);
System.out.println("");
System.out.println("Object number of test: " + test.getObjectNumber());
System.out.println("Object number of next object of test: "
+ test.getNextObject().getObjectNumber());
}
}