<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
說明
本文用範例介紹Java的ArrayList排序的方法。
List排序方法
主要有三種方法(按推薦度排序):
需求:使用者有成績和年齡。按成績排序,若成績相同,則按年齡排序。
package org.example.a; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class User{ private int score; private int age; public User(int score, int age){ super(); this.score = score; this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } public class Demo { public static void main(String[] args) { List<User> users = new ArrayList<User>(); users.add(new User(95, 26)); users.add(new User(84, 23)); users.add(new User(96, 25)); users.add(new User(95, 24)); Collections.sort(users, new Comparator<User>() { @Override public int compare(User o1, User o2) { int i = o2.getScore() - o1.getScore(); if(i == 0){ return o1.getAge() - o2.getAge(); } return i; } }); for(User user : users){ System.out.println(user.getScore() + "," + user.getAge()); } } }
執行結果
96,25
95,24
95,26
84,23
預設按增序排序:
package org.example.a; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Demo { public static void main(String[] args) { List<Integer> nums = new ArrayList<Integer>(); nums.add(3); nums.add(5); nums.add(1); nums.add(0); System.out.println(nums); Collections.sort(nums); System.out.println(nums); } }
執行結果:
[3, 5, 1, 0]
[0, 1, 3, 5]
需求:使用者有成績和年齡。按成績降序排序,若成績相同,則按年齡正序排序。
package org.example.a; import java.util.ArrayList; import java.util.Collections; import java.util.List; class User implements Comparable<User>{ private int score; private int age; public User(int score, int age){ super(); this.score = score; this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(User o) { int i = o.getScore() - this.getScore(); if(i == 0){ return this.getAge() - o.getAge(); } return i; } } public class Demo { public static void main(String[] args) { List<User> users = new ArrayList<User>(); users.add(new User(95, 26)); users.add(new User(84, 23)); users.add(new User(96, 25)); users.add(new User(95, 24)); Collections.sort(users); for(User user : users){ System.out.println(user.getScore() + "," + user.getAge()); } } }
執行結果
96,25
95,24
95,26
84,23
到此這篇關於Java實現ArrayList排序的方法詳解的文章就介紹到這了,更多相關Java ArrayList排序內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45