gpt4 book ai didi

java - 如何使用java中的列表结构确定java中当前元素之后是否存在另一个元素

转载 作者:行者123 更新时间:2023-12-02 05:18:13 25 4
gpt4 key购买 nike

我正在尝试编写一个名为 boolean hasNext() 的函数,它检查当前元素之后是否存在另一个元素 我有一个名为 TourElement 的类,它包含很多点。这是我的代码//类路径点:

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;
}

//类tourElement

 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;
}

boolean hasNext(Waypoint first){
// What am I doing wrong here?
TourElement current = getNext();
while( current.next != null)
{
return true;
}
return false;

}
// my test case
public void testHasNext()
{
TourElement elem = createElementList(new int[][] {{0, 0}, {1, 1}, {2, 2}});

assertEquals(true,elem.hasNext(createWaypoint(1, 1)));
}

//创建元素列表:

private TourElement createElementList(int[][] waypoints){
assert waypoints.length > 0;
TourElement elem = new TourElement();
int lastIndex = waypoints.length-1;
Waypoint wp = createWaypoint(waypoints[lastIndex][0], waypoints[lastIndex][1]);
elem.setWaypoint(wp);
for (int i = lastIndex-1; i >= 0 ; i--) {
wp = createWaypoint(waypoints[i][0], waypoints[i][1]);
elem = elem.addStart(wp);
}
return elem;
}

//创建航路点:

private Waypoint createWaypoint(int x, int y) {
Waypoint wp = new Waypoint();
wp.setXY(x, y);
return wp;
}

我希望使用 hasNext 函数,如果我传递像 {1,1} 这样的点,它将返回 true,因为在该点之后还有一个点。但是当我通过{2,2}时。它将返回 false

最佳答案

你的方法可以改进。看看吧

boolean hasNext(){
if (this.next != null) return true;
return false;
}

您不需要循环到 LinkledList 的末尾,您应该只关心接下来的内容。

关于java - 如何使用java中的列表结构确定java中当前元素之后是否存在另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com