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

java根據(jù)List內(nèi)對象的屬性排序方法

 更新時間:2018年01月03日 14:36:25   作者:Clannad_汐  
下面小編就為大家分享一篇java根據(jù)List內(nèi)對象的屬性排序方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

方法一:實現(xiàn)Comparator接口,并重寫compare方法

實體類代碼:

import java.util.Comparator;

/**
 * 學(xué)生類 方法一
 * 實現(xiàn)Comparator接口
 * 并重寫compare方法
 * @author liaot
 *
 */
public class Student implements Comparator<Student>{
 private String name; //姓名
 private int age; //年齡

 //重寫 比較方法 本次例子定義為按年齡比較
 @Override
 public int compare(Student o1, Student o2) {
  if(o1.getAge() > o2.getAge()){
   return 1;
  }else{
   return -1;
  }
 }


 public Student(String name, int age) {
  super();
  this.name = name;
  this.age = age;
 }


 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;
 }
}

測試類:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main {

 public static void main(String[] args) {
  //初始化四個不同的學(xué)生
  Student stu1 = new Student("路人甲", 20);
  Student stu2 = new Student("路人已", 18);
  Student stu3 = new Student("路人丙", 16);
  Student stu4 = new Student("路人丁", 19);
  //新建List把學(xué)生加進List
  List<Student> stuList = new ArrayList<>();
  stuList.add(stu1);
  stuList.add(stu2);
  stuList.add(stu3);
  stuList.add(stu4);
  System.out.println("排序前:=====");
  for(Student stu :stuList){
   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());
  }
  //排序
  Collections.sort(stuList, stu1); //第一個參數(shù)為List 第二個參數(shù)為對象的一個實例
  System.out.println("排序后:=====");
  for(Student stu :stuList){
   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());
  }
 }

}

運行結(jié)果:

方法二:實現(xiàn)Comparable接口 并重寫compareTo方法

/**
 * 學(xué)生類 方法二 實現(xiàn)Comparable接口 并重寫compareTo方法
 * 
 * @author liaot
 *
 */
public class Student2 implements Comparable<Student2> {
 private String name; // 姓名
 private int age; // 年齡

 // 重寫 比較方法 本次例子定義為按年齡比較
 @Override
 public int compareTo(Student2 stu) {
  if (this.age > stu.getAge()) {
   return 1;
  } else {
   return -1;
  }
 }

 public Student2(String name, int age) {
  super();
  this.name = name;
  this.age = age;
 }

 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;
 }

}

測試類

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main2 {

 public static void main(String[] args) {
  //初始化四個不同的學(xué)生
  Student2 stu1 = new Student2("路人甲", 20);
  Student2 stu2 = new Student2("路人已", 18);
  Student2 stu3 = new Student2("路人丙", 16);
  Student2 stu4 = new Student2("路人丁", 19);
  //新建List把學(xué)生加進List
  List<Student2> stuList = new ArrayList<>();
  stuList.add(stu1);
  stuList.add(stu2);
  stuList.add(stu3);
  stuList.add(stu4);
  System.out.println("排序前:=====");
  for(Student2 stu :stuList){
   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());
  }
  //排序
  Collections.sort(stuList); //只有一個參數(shù)參數(shù)為List
  System.out.println("排序后:=====");
  for(Student2 stu :stuList){
   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());
  }
 }

}

運行結(jié)果

三、總結(jié):兩種方式寫法和用法上的區(qū)別:

以上這篇java根據(jù)List內(nèi)對象的屬性排序方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • HDFS的Java API的訪問方式實例代碼

    HDFS的Java API的訪問方式實例代碼

    這篇文章主要介紹了HDFS的Java API的訪問方式實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java中替換HTML標(biāo)簽的方法代碼

    Java中替換HTML標(biāo)簽的方法代碼

    這篇文章主要介紹了Java中替換HTML標(biāo)簽的方法代碼,需要的朋友可以參考下
    2014-02-02
  • 解決報錯:java.lang.IllegalStateException: Failed to execute CommandLineRunner問題

    解決報錯:java.lang.IllegalStateException: Failed to&nb

    在項目開發(fā)中,可能會遇到Elasticsearch啟動報錯的問題,原因可能包括版本不一致、端口配置錯誤、配置文件不匹配及服務(wù)未啟動等,解決方法包括檢查進程、重啟服務(wù)等,這些經(jīng)驗可以幫助開發(fā)者快速定位問題并解決,保證項目順利運行
    2024-10-10
  • Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法

    Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法

    在項目開發(fā)中經(jīng)常會批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,這篇文章主要介紹了Spring Data MongoDB 數(shù)據(jù)庫批量操作的方法,非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • IDEA中如何引入spring的命名空間

    IDEA中如何引入spring的命名空間

    這篇文章主要介紹了IDEA中如何引入spring的命名空間問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java 多線程的同步幾種方法

    java 多線程的同步幾種方法

    這篇文章主要介紹了java 多線程的同步幾種方法的相關(guān)資料,這里提供5種方法,需要的朋友可以參考下
    2017-09-09
  • springboot+vue制作后臺管理系統(tǒng)項目

    springboot+vue制作后臺管理系統(tǒng)項目

    本文詳細介紹了后臺管理使用springboot+vue制作,以分步驟、圖文的形式詳細講解,大家有需要的可以參考參考
    2021-08-08
  • IDEA教程創(chuàng)建SpringBoot前后端分離項目示例圖解

    IDEA教程創(chuàng)建SpringBoot前后端分離項目示例圖解

    在使用spring、mybatis等框架時,配置文件很復(fù)雜,有時復(fù)雜的讓人想放棄Java,使用C#。springboot出現(xiàn)這一切問題就都不是問題
    2021-10-10
  • Spring中的策略模式簡單實現(xiàn)與使用分析

    Spring中的策略模式簡單實現(xiàn)與使用分析

    這篇文章主要介紹了Spring中的策略模式簡單實現(xiàn)與使用分析,去初始化時除了?initMultipartResolver(上傳文件)沒有獲取?Properties?defaultStrategies;默認策略,其他的八大件都會使用到策略模式,需要的朋友可以參考下
    2024-01-01
  • 深入理解java1.8之supplier

    深入理解java1.8之supplier

    這篇文章主要介紹了深入理解java1.8之supplier,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評論

洛阳市| 元氏县| 博湖县| 钦州市| 六枝特区| 沙田区| 绥滨县| 安泽县| 阳原县| 凤山市| 民勤县| 郯城县| 无极县| 澄江县| 来安县| 武清区| 田阳县| 襄汾县| 信阳市| 扎鲁特旗| 梁平县| 满洲里市| 望城县| 云龙县| 依安县| 上栗县| 鄂伦春自治旗| 惠水县| 贡觉县| 琼中| 黑河市| 岳池县| 璧山县| 十堰市| 岐山县| 临沧市| 佛学| 南平市| 太康县| 永安市| 辽中县|