gpt4 book ai didi

java - 从数组中删除一些元素

转载 作者:行者123 更新时间:2023-11-29 05:31:22 25 4
gpt4 key购买 nike

我需要从数组 points 中删除元素。我就是这样做的。问题是 pts.length 总是相同的,被移除的元素的值为 null。因此,有时我会收到错误消息 java.lang.NullPointerException

for (int i = 0; i < points.length; i++) {
int ind = r.nextInt(pts.length);
TSPPoint pt = points[ind];
pts = removeElements(points,ind);
solPoints[i] = pt;
System.out.println(pts.length);
}

private static TSPPoint[] removeElements(TSPPoint[] input, int ind) {
List<TSPPoint> result = new LinkedList<TSPPoint>();

for(int i=0; i<input.length; i++)
if(i != ind)
result.add(input[i]);

return (TSPPoint[]) result.toArray(input);
}

最佳答案

您的代码似乎(应该)做的是从 points 的原始数组中删除随机元素并将它们附加到 pts 数组,即创建排列

如果是这种情况,我建议将您的数组转换为 List 并使用 Collections.shuffle .

关于java - 从数组中删除一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20993099/

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