ArrayList 多关键字排序
  TEZNKK3IfmPf 2023年11月12日 36 0

ArrayList里面的对象实现 Comparable接口

// User.java 待排序的对象 ,实现了Comparable接口
public class User implements Comparable{

private String name;
private String pass;
private int age;

public String getName() {
return name;
}

public String getPass() {
return pass;
}

public void setName(String name) {
this.name = name;
}

public void setPass(String pass) {
this.pass = pass;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@Override
public int compareTo(Object o) {
User user = (User) o;
if (this.age > user.age){
return 1;
}else if (this.age < user.age){
return -1;
}else {
return this.name.compareTo(user.name);
}
}
}
// Demo.java 测试程序

public class Demo {
public static void main(String[] args) {
List<User> users = new ArrayList<>();
int lastAge = -1;
for (int i = 0; i < 20; i++) {
User user = new User();
if (lastAge==-1){
int number = (int) (Math.random() * 100);
user.setAge(number);
lastAge = number;
}else {
user.setAge(lastAge);
lastAge = -1;
}
int n = 20 - i;
user.setName(n + "haha");
user.setPass(n + "");
users.add(user);
}
Collections.sort(users);
for (int i = 0; i < 20; i++) {
User user = users.get(i);
System.out.println(user.getName() + " " + user.getAge() + " " + user.getPass());
}
}
}

调用排序,只需要Collections.sort(users); 即可。运行结果:略

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: nginx架构 下一篇: jvm 调试工具使用
  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   35   0   0 关键字C++
  TEZNKK3IfmPf   2023年11月14日   27   0   0 ArrayList
  TEZNKK3IfmPf   2024年05月17日   64   0   0 关键字python
  TEZNKK3IfmPf   2023年11月13日   57   0   0 关键字final
TEZNKK3IfmPf