java double 排序
时间: 2023-10-20 21:23:36 浏览: 39
可以使用Arrays类的sort方法进行排序。示例代码如下:
```java
double[] arr = {3.4, 1.2, 5.6, 2.1};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
```
输出结果为:[1.2, 2.1, 3.4, 5.6]
如果需要进行倒序排序,可以使用Collections类的reverseOrder方法。示例代码如下:
```java
Double[] arr = {3.4, 1.2, 5.6, 2.1};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr));
```
输出结果为:[5.6, 3.4, 2.1, 1.2]
相关问题
java中double排序
在Java中,可以使用Arrays类的sort()方法对double类型的数组进行排序。例如,假设有一个double类型的数组doubleArray:
```
double[] doubleArray = {3.14, 1.23, 2.71, 0.99};
```
可以使用sort()方法对其进行排序:
```
Arrays.sort(doubleArray);
```
排序后,doubleArray数组的元素将按升序排列。如果需要按降序排列,可以使用Collections类的reverseOrder()方法和Arrays类的sort()方法:
```
Double[] doubleArray = {3.14, 1.23, 2.71, 0.99};
Arrays.sort(doubleArray, Collections.reverseOrder());
```
注意,此时需要将double类型的数组包装成Double对象的数组。
java距离排序
Java中可以通过实现Comparator接口来实现距离排序。假设有一个名为Point的类表示二维平面上的点,其中包含x和y坐标属性,可以按照以下方式实现距离排序:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Point {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public double distance() {
return Math.sqrt(x * x + y * y);
}
public static void main(String[] args) {
List<Point> points = new ArrayList<>();
points.add(new Point(1, 2));
points.add(new Point(3, 4));
points.add(new Point(5, 6));
// 按照距离排序
Collections.sort(points, new Comparator<Point>() {
@Override
public int compare(Point p1, Point p2) {
return Double.compare(p1.distance(), p2.distance());
}
});
for (Point point : points) {
System.out.println(point.distance());
}
}
}
```
上述代码中,通过实现Comparator接口中的compare方法,将点按照距离从小到大排序。具体实现中,使用了Collections.sort方法对点进行排序,其中传入了一个匿名内部类,实现了Comparator接口中的compare方法。在compare方法中,通过调用distance方法计算出两个点之间的距离,并返回比较结果。最终打印出了按照距离排序后的点。