最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java ArrayList集合中的某個(gè)對(duì)象屬性進(jìn)行排序的實(shí)現(xiàn)代碼

 更新時(shí)間:2016年07月16日 15:15:22   投稿:mdxy-dxy  
這篇文章主要介紹了java ArrayList集合中的某個(gè)對(duì)象屬性進(jìn)行排序的實(shí)現(xiàn)代碼,需要的朋友可以參考下

開(kāi)發(fā)中有時(shí)候需要自己封裝分頁(yè)排序時(shí),List如何對(duì)某一屬性排序呢,分享一個(gè)小實(shí)例,大家共勉,希望能對(duì)大家有用,請(qǐng)多多指教。

1.Student的Bean如下:

public class Student {
	private int age;
	
	private String name;
	
	private String weight;
	public String getWeight() {
		return weight;
	}
	public void setWeight(String weight) {
		this.weight = weight;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

2.按照List中對(duì)象的Int類型屬性進(jìn)行排序

 /**
 * 按照List中的某個(gè)Int類型的屬性進(jìn)行排序
 * @param list
 */
@SuppressWarnings("unchecked")
public static void sortIntMethod(List list){
  Collections.sort(list, new Comparator(){
		@Override
		public int compare(Object o1, Object o2) {
			Student stu1=(Student)o1;
			Student stu2=(Student)o2;
			if(stu1.getAge()>stu2.getAge()){
				return 1;
			}else if(stu1.getAge()==stu2.getAge()){
				return 0;
			}else{
				return -1;
			}
		}	  	
  });
  System.out.println("http://///////////排序之后///////////////");
  for(int i=0;i<list.size();i++){
  	Student st=(Student)list.get(i);
  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
}

3.按照List中對(duì)象的String類型的屬性進(jìn)行排序

1)方法一:

 /**
 * 按照List中的某個(gè)String類型的屬性進(jìn)行排序
 * @param list
 */
@SuppressWarnings("unchecked")
public static void sortStringMethod(List list){
  Collections.sort(list, new Comparator(){
		@Override
		public int compare(Object o1, Object o2) {
			Student stu1=(Student)o1;
			Student stu2=(Student)o2;
			return stu1.getName().compareTo(stu2.getName());
		}	  	
  });
  System.out.println("http://///////////排序之后///////////////");
  for(int i=0;i<list.size();i++){
  	Student st=(Student)list.get(i);
  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
}

2)方法二:
使用java.text.RuleBasedCollator來(lái)實(shí)現(xiàn),用來(lái)執(zhí)行區(qū)分語(yǔ)言環(huán)境的String 比較:

/**
	 * 按照List中的某個(gè)String類型的屬性進(jìn)行排序
	 * @param list
	 */
	@SuppressWarnings("unchecked")
	public static void sortByRuleBasedCollator(List list){
		Collections.sort(list, new Comparator(){
			@Override
			public int compare(Object o1, Object o2) {
			  return ((java.text.RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA)).compare(((Student)o1).getName(), ((Student)o2).getName());
			}		
		});
		System.out.println("http://///////////排序之后///////////////");
	  for(int i=0;i<list.size();i++){
	  	Student st=(Student)list.get(i);
	  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
	  }
	}

4.測(cè)試排序的方法

    @SuppressWarnings("unchecked")
public static void main(String[] args) {

	ArrayList list=new ArrayList();
	Student t1=new Student();
	t1.setAge(35);
	t1.setName("wanglei");
	list.add(t1);
	
	Student t2=new Student();
	t2.setAge(4);
	t2.setName("lisi");
	list.add(t2);
	
	Student t3=new Student();
	t3.setAge(56);
	t3.setName("zhonghua");
	list.add(t3);
	
	Student t4=new Student();
	t4.setAge(39);
	t4.setName("waanglei");
	list.add(t4);
	System.out.println("http://///////////排序之前///////////////");
	for(int i=0;i<list.size();i++){
  	Student st=(Student)list.get(i);
  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
  }
        //按照List中的某個(gè)Int類型的屬性進(jìn)行排序
	sortIntMethod(list);
	//按照List中的某個(gè)String類型的屬性進(jìn)行排序
	sortStringMethod(list);	
}

5.結(jié)果

相關(guān)文章

  • springboot中RabbitMQ死信隊(duì)列的實(shí)現(xiàn)示例

    springboot中RabbitMQ死信隊(duì)列的實(shí)現(xiàn)示例

    死信隊(duì)列是一種特殊的消息隊(duì)列,用來(lái)存儲(chǔ)無(wú)法被正常消費(fèi)的消息,常被用來(lái)實(shí)現(xiàn)延遲處理,異常消息處理等,本文主要介紹了springboot中RabbitMQ死信隊(duì)列的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-01-01
  • spring?boot寫java?web和接口

    spring?boot寫java?web和接口

    這篇文章主要介紹了spring?boot寫java?web和接口,Spring?Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置,下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-01-01
  • HttpServletResponse亂碼問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    HttpServletResponse亂碼問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了HttpServletResponse亂碼問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 詳解SpringMVC如何進(jìn)行數(shù)據(jù)回顯

    詳解SpringMVC如何進(jìn)行數(shù)據(jù)回顯

    這篇文章主要介紹了詳解SpringMVC如何進(jìn)行數(shù)據(jù)回顯,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • 詳解如何在Java中調(diào)用Python程序

    詳解如何在Java中調(diào)用Python程序

    今天給大家?guī)?lái)的是關(guān)于Java中調(diào)用Python程序的相關(guān)知識(shí),文章有非常詳細(xì)的代碼示例,需要的朋友可以參考下
    2021-06-06
  • java統(tǒng)計(jì)字符串單詞個(gè)數(shù)的方法解析

    java統(tǒng)計(jì)字符串單詞個(gè)數(shù)的方法解析

    在一些項(xiàng)目中可能需要對(duì)一段字符串中的單詞進(jìn)行統(tǒng)計(jì),本文在這里分享了一個(gè)簡(jiǎn)單的demo,有需要的朋友可以拿去看一下
    2017-01-01
  • SpringBoot如何優(yōu)雅地使用Swagger2

    SpringBoot如何優(yōu)雅地使用Swagger2

    這篇文章主要介紹了SpringBoot如何優(yōu)雅地使用Swagger2,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 對(duì)比Java中的Comparable排序接口和Comparator比較器接口

    對(duì)比Java中的Comparable排序接口和Comparator比較器接口

    Comparable和Comparator接口都可用作普通意義上對(duì)象間的比大小,但兩個(gè)接口在實(shí)例化方面的用法不盡相同,接下來(lái)我們就來(lái)詳細(xì)對(duì)比Java中的Comparable排序接口和Comparator比較器接口
    2016-05-05
  • 流式圖表拒絕增刪改查之kafka核心消費(fèi)邏輯上篇

    流式圖表拒絕增刪改查之kafka核心消費(fèi)邏輯上篇

    這篇文章主要為大家介紹了流式圖表拒絕增刪改查之kafka核心消費(fèi)邏輯詳解的上篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 使用Homebrew配置Java開(kāi)發(fā)環(huán)境操作方法

    使用Homebrew配置Java開(kāi)發(fā)環(huán)境操作方法

    下面小編就為大家?guī)?lái)一篇使用Homebrew配置Java開(kāi)發(fā)環(huán)境操作方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論

黎川县| 太原市| 报价| 陆川县| 乌海市| 壤塘县| 南召县| 达州市| 鹤峰县| 丰台区| 绥芬河市| 临邑县| 隆化县| 琼结县| 同心县| 水富县| 称多县| 浠水县| 宝应县| 兴化市| 昌乐县| 英山县| 玉龙| 蓬溪县| 石景山区| 潢川县| 曲松县| 建宁县| 华容县| 富平县| 乌兰县| 两当县| 泰顺县| 湾仔区| 英吉沙县| 湘潭市| 佛冈县| 达州市| 盐亭县| 湖州市| 多伦县|