头歌Java 用匿名类实现ArrayList集合的排序
时间: 2024-11-27 15:23:42 浏览: 0
在Java中,我们可以使用匿名内部类以及Collections.sort()方法来自定义排序规则来对ArrayList集合进行排序。这里是一个简单的例子,我们假设我们要按照元素长度对字符串数组列表进行升序排序:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// 创建一个ArrayList
ArrayList<String> stringList = new ArrayList<>(Arrays.asList("banana", "apple", "cherry", "date"));
// 使用匿名内部类和Comparator接口自定义排序规则
Collections.sort(stringList, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length(); // 按照长度比较,升序则返回正数,降序则返回负数
}
});
// 打印排序后的列表
for (String str : stringList) {
System.out.println(str);
}
}
}
```
在这个例子中,我们创建了一个匿名类实现了Comparator接口,它的compare方法定义了排序逻辑。然后我们将这个匿名类传递给Collections.sort()方法,这样ArrayList就会按照我们的规则进行排序。
阅读全文