java實(shí)現(xiàn)ArrayList根據(jù)存儲(chǔ)對(duì)象排序功能示例
本文實(shí)例講述了java實(shí)現(xiàn)ArrayList根據(jù)存儲(chǔ)對(duì)象排序功能。分享給大家供大家參考,具體如下:
與c++中的qsort的實(shí)現(xiàn)極為相似,構(gòu)建新的比較對(duì)象Comparator即可
package demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class Stu{
public int age;
private String name;
public Stu(String name,int age){
this.age=age;
this.name=name;
}
public String toString(){
String str=name+"is "+age;
return str;
}
}
public class Sort{
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args){
ArrayList<Stu> s=new ArrayList<Stu>();
s.add(new Stu("cjc",25));
s.add(new Stu("jake",17));
s.add(new Stu("john",30));
s.add(new Stu("Alice",23));
System.out.println("腳本之家測(cè)試結(jié)果:");
System.out.println("The order before sorting!");
System.out.println(s);
//對(duì)集合中的元素更具年齡進(jìn)行排序
Collections.sort(s,new Comparator(){
@Override
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
Stu stu1=(Stu)o1;
Stu stu2=(Stu)o2;
return stu2.age-stu1.age;
}
});
System.out.println("The order after sorting!");
System.out.println(s);
}
}
運(yùn)行結(jié)果:

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線(xiàn)動(dòng)畫(huà)演示插入/選擇/冒泡/歸并/希爾/快速排序算法過(guò)程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
springboot集成es插入和查詢(xún)的簡(jiǎn)單使用示例詳解
這篇文章主要介紹了springboot集成es 插入和查詢(xún)的簡(jiǎn)單使用,本文分步驟結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
Spring Boot中使用Server-Sent Events (SSE) 實(shí)
Server-Sent Events (SSE) 是HTML5引入的一種輕量級(jí)的服務(wù)器向?yàn)g覽器客戶(hù)端單向推送實(shí)時(shí)數(shù)據(jù)的技術(shù),本文主要介紹了Spring Boot中使用Server-Sent Events (SSE) 實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)推送教程,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
SpringBoot如何通過(guò)配置禁用swagger
這篇文章主要給大家介紹了關(guān)于SpringBoot如何通過(guò)配置禁用swagger的相關(guān)資料,Swagger用來(lái)在開(kāi)發(fā)階段方便前后端分離的項(xiàng)目實(shí)戰(zhàn)中,提高前后端人員的工作效率,降低交流成本,但是版本上線(xiàn)之后要是把Swagger帶上去會(huì)存在很大的風(fēng)險(xiǎn),需要的朋友可以參考下2023-08-08
使用idea開(kāi)發(fā)javaWeb應(yīng)用程序的思路(實(shí)現(xiàn)用戶(hù)的增刪改查)
這篇文章主要介紹了使用idea開(kāi)發(fā)javaWeb應(yīng)用程序的思路(實(shí)現(xiàn)用戶(hù)的增刪改查),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Java Socket聊天室編程(二)之利用socket實(shí)現(xiàn)單聊聊天室
這篇文章主要介紹了Java Socket聊天室編程(二)之利用socket實(shí)現(xiàn)單聊聊天室的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
Java前端開(kāi)發(fā)框架實(shí)現(xiàn)的流程和代碼示例
我們可以實(shí)現(xiàn)一個(gè)Java前端開(kāi)發(fā)框架,這個(gè)框架包含了初始化、組件渲染、組件更新、事件監(jiān)聽(tīng)和事件觸發(fā)等功能,希望這個(gè)指南能夠?qū)側(cè)胄械男“子兴鶐椭?/div> 2023-10-10
Spring-cloud-eureka使用feign調(diào)用服務(wù)接口
這篇文章主要為大家詳細(xì)介紹了Spring-cloud-eureka使用feign調(diào)用服務(wù)接口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
SpringBoot AOP處理請(qǐng)求日志打印功能代碼實(shí)例
這篇文章主要介紹了SpringBoot AOP處理請(qǐng)求日志打印功能代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03最新評(píng)論

