如何在链表Java中的第一个元素前面添加点?

时间:2019-05-24 09:46:32

标签: java list linked-list structure

我正在尝试编写一个名为addStart()的函数,以在列表结构的第一个节点的前面添加新元素。请帮我弄清楚。

我有2个名为Waypoint和TourElement类的类。 Waypoint提供了使用点的方法。旅游元素包含很多要点。

// Waypoint.java

let start = 0;
let offset = 500;
let data = true;

let requestMap = [];

while (data) {
  requestMap.push(
    new Promise((resolve, reject) => {
      request.get({ url: 'https://api.domain.de/action/?start=' + start + '&offset=' + offset }, function (err, resp) {

        if(err){
          reject(err);
        }
        // do something with response
        if (resp === "") {
          data = false;
        }

        resolve(data);
      });
    })
  );

  start += offset;
}

Promise.all(requestMap).then(function(allResults) {
  // allResults array 

}).catch(function() {
  // catch all errors here.
})

//游览Element.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;
    }

//我需要有关addStart功能的帮助  //,它将航路点添加到第一个元素的前面。如果参数为null,则列表将不变地返回。

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的测试用例:

TourElement addStart(Waypoint wp) {
        if(this.next == null)
        {
            TourElement newTourElement = new TourElement();
            newTourElement.setWaypoint(wp);
            this.next = newTourElement; 
        }
        return this;
    }

我的输入是一个节点列表,例如:{1,2}-> {2,3}-> {3,4}和一个航路点{5,6}。我希望我的输出将是:{5,6 }-> {1,2}-> {2,3}-> {3,4}

1 个答案:

答案 0 :(得分:0)

例如,您可以使用addFirst(Object element)在第一个索引处插入元素:

    import java.io.*; 
    import java.util.LinkedList; 

    public class LinkedListDemo { 
       public static void main(String args[]) { 

        // creating an empty LinkedList 
        LinkedList<String> list = new LinkedList<String>(); 

        // use add() method to add elements in the list 
        list.add("Coder"); 
        list.add("ACJHP"); 
        list.add("1190"); 

        // Output the present list 
        System.out.println("The list is:" + list); 

        // Adding new elements at the beginning 
        list.addFirst("First"); 
        list.addFirst("At"); 

        // Displaying the new list 
        System.out.println("The new List is:" + list); 
    } 
} 

因此,如果您仔细阅读documentation,您会发现很多方法可以简化您的工作