java jdk1.8 list进行升序和降序排序的工具类,其中包含对list中是int类型的、list中是string类型的、是实体类的,如果list中是实体类,以实体类string类型的字段进行进行排序的、以实体类int类型的字段进行排序的等
时间: 2024-03-03 07:46:56 浏览: 78
List排序原理-Java核心逻辑第11章
对于List中是int类型的元素,可以使用Collections.sort(List<T> list) 方法进行升序排序,使用Collections.reverse(List<T> list) 方法进行降序排序。
对于List中是String类型的元素,可以使用Collections.sort(List<T> list, Comparator<? super T> c) 方法进行排序。其中,Comparator接口可以自定义比较器,实现对String类型的元素进行排序。
对于List中是实体类的元素,可以同样使用Collections.sort(List<T> list, Comparator<? super T> c) 方法进行排序。而在实体类中,需要对比较的字段进行重写compareTo()方法,或者实现Comparator接口进行自定义比较器。例如,对于实体类中的String类型的字段进行排序:
```
public class Entity implements Comparable<Entity> {
private String name;
// getter and setter
@Override
public int compareTo(Entity o) {
return this.name.compareTo(o.getName());
}
}
```
对于实体类中的int类型的字段进行排序:
```
public class Entity implements Comparable<Entity> {
private int id;
// getter and setter
@Override
public int compareTo(Entity o) {
return Integer.compare(this.id, o.getId());
}
}
```
然后,可以使用Collections.sort(List<T> list) 方法进行升序排序,使用Collections.reverse(List<T> list) 方法进行降序排序。如果需要按照实体类中的String类型的字段进行排序,可以使用Collections.sort(List<T> list, Comparator<? super T> c) 方法,自定义比较器,实现对实体类中的字段进行排序。
阅读全文