java arraylist sort float类型如何重写?
时间: 2023-10-27 19:14:57 浏览: 146
2024年Java基础面试题,附带详细解析答案
要重写 `java.util.ArrayList` 中的 `sort()` 方法以对 float 类型进行排序,你需要创建一个自定义的比较器类并实现 `Comparator` 接口。然后,您需要将该比较器类的实例传递给 `sort()` 方法。
这是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Comparator;
public class FloatArrayListSortExample {
public static void main(String[] args) {
ArrayList<Float> floatList = new ArrayList<Float>();
floatList.add(10.5f);
floatList.add(5.0f);
floatList.add(15.3f);
floatList.add(2.7f);
System.out.println("Before Sorting: " + floatList);
// Implementing Comparator to sort float values
Comparator<Float> comparator = new Comparator<Float>() {
@Override
public int compare(Float o1, Float o2) {
return o1.compareTo(o2);
}
};
// Sorting float ArrayList using Comparator
floatList.sort(comparator);
System.out.println("After Sorting: " + floatList);
}
}
```
输出:
```
Before Sorting: [10.5, 5.0, 15.3, 2.7]
After Sorting: [2.7, 5.0, 10.5, 15.3]
```
在此示例中,我们首先创建了一个 `ArrayList`,其中包含四个 `float` 类型的值。我们创建了一个自定义比较器实例,该实例使用 `compare()` 方法比较两个 `Float` 值并返回一个整数值。
然后,我们使用 `sort()` 方法对 `ArrayList` 进行排序,并将我们的自定义比较器实例传递给该方法。最后,我们打印出已排序的 `ArrayList`。
阅读全文