gpt4 book ai didi

java - 从列表中获取最短点条目

转载 作者:行者123 更新时间:2023-12-02 04:11:50 26 4
gpt4 key购买 nike

我拥有什么:积分列表

LinkedList<Point> mList=new LinkedList<Point>();

现在我有一个新条目,它是 xpoint

我想要做什么:我试图从 mList 获取最接近新条目 xpoint 的点值

如何实现这一目标?

我尝试过的:。我尝试使用 Comparator 作为 here但我无法得到我正在尝试的结果

最佳答案

不需要排序和比较器。只需迭代 List 并跟踪最接近目标 PointPoint:

private Point getNearestPoint(List<Point> pointList, Point target) {
Point nearest = null;
double shortestDistance = Double.MAX_VALUE;
double distance = 0;

for(Point p : pointList) {
distance = getDistance(p, target);
if(distance < shortestDistance) {
shortestDistance = distance;
nearest = p;
}
}

return nearest;
}

private double getDistance(Point p1, Point p2) {
return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
}

关于java - 从列表中获取最短点条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715971/

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