java中对list排序
2022/3/29 22:26:51
本文主要是介绍java中对list排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对list进行排序:
1、使用数组进行转换
首先使用集合方法toArray(T[] t),将list转化为数组形式,注意此处的T代表引用型变量(Integer ,String等);然后使用Arrays类的类方法sort()进行排序即可;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class sort {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(new Integer(5));
list.add(new Integer(13));
list.add(new Integer(4));
list.add(new Integer(9));
int len = list.size();
int[] arr = new int[len];
for(int i = 0; i < len; i++) {
arr[i] = list.get(i);
}
Arrays.sort(arr);
}
2、使用Collections集合方法sort()进行排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class sort {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(new Integer(5));
list.add(new Integer(13));
list.add(new Integer(4));
list.add(new Integer(9));
Collections.sort(list);
System.out.println(list.toString());
}
}
程序运行结果:
[4, 5, 9, 13],这种简单的排序直接按照自然顺序进行升序排列。
3、list参数类型相对复杂的排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class sort {
public static void main(String[] args) {
List<User> list = new ArrayList<User>();
list.add(new User("张三", 5));
list.add(new User("李四", 30));
list.add(new User("王五", 19));
list.add(new User("陈十七", 17)); // 陈十七永远十七岁
Collections.sort(list); // 按年龄排序
System.out.println(list.toString());
}
}
class User implements Comparable<User>{
private String name; //姓名
private int age; // 年龄
public User(String name, int age) {
this.name = name;
this.age = age;
}
// getter && setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
@Override
public int compareTo(User user) { //重写Comparable接口的compareTo方法,
return this.age - user.getAge(); // 根据年龄升序排列,降序修改相减顺序即可
}
}
程序运行结果:根据年龄升序排列
[User [name=张三, age=5], User [name=陈十七, age=17], User [name=王五, age=19], User [name=李四, age=30]]
这篇关于java中对list排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器