Я пытаюсь написать функцию с именем addStart (), чтобы добавить новый элемент в начало первого узла в списке структур. пожалуйста, помогите мне разобраться.
У меня есть 2 класса с именами Waypoint и TourElement Class. Путевая точка предоставляет метод для работы с точками. Элемент тура содержит много очков.
// Waypoint.java
public class Waypoint {
int x ;
int y ;
public int getX()
{
return this.x;
}
public int getY()
{
return this.y;
}
public void setXY(int x, int y)
{
this.x = x;
this.y = y;
}
// Tour Element.java
public class TourElement {
private Waypoint points;
private TourElement next;
public void setWaypoint( Waypoint points)
{
this.points = points;
}
public void setTourElement(TourElement next)
{
this.next = next;
}
Waypoint getWaypoint()
{
return this.points;
}
TourElement getNext()
{
return this.next;
}
// Мне нужна помощь с функцией addStart
//, который добавляет путевую точку перед первым элементом. Если параметр имеет значение null, список возвращается без изменений.
TourElement addStart(Waypoint wp) {
if(this.next == null)
{
TourElement newTourElement = new TourElement();
newTourElement.setWaypoint(wp);
this.next = newTourElement;
}
return this;
}
// Тестовый пример addStart:
public void test0AddStart() {
TourElement elem = new TourElement();
elem.setWaypoint(createWaypoint(2, 2));
elem = elem.addStart(createWaypoint(1, 1));
assertArrayEquals(new int[] {1, 1}, elem.getWaypoint().toArray());
assertArrayEquals(new int[] {2, 2}, elem.getNext().getWaypoint().toArray());
assertNull(elem.getNext().getNext());
}
мой ввод - это список узлов, например: {1,2} -> {2,3} -> {3,4} и путевая точка {5,6}. Я ожидаю, что мой вывод будет: {5,6 } -> {1,2} -> {2,3} -> {3,4}