<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      現(xiàn)有一個(gè)List<User>集合,User中有這兩個(gè)屬性(String name; Integer age) 要通過(guò)age對(duì)list進(jìn)行重新排序,以下有三個(gè)方法:


      第一種方法:讓User實(shí)現(xiàn) (implements)  Comparable接口重寫(xiě)compareTo方法:

      public class User implements Comparable<User>{
      	private String name;
      	private Integer age;
      	public String getName() {
      		return name;
      	}
      	public void setName(String name) {
      		this.name = name;
      	}
      	public Integer getAge() {
      		return age;
      	}
      	public void setAge(Integer age) {
      		this.age = age;
      	}
      	
      	
      	public User(String name, Integer age) {
      		super();
      		this.name = name;
      		this.age = age;
      	}
      	@Override
      	public String toString() {
      		return "User [name=" + name + ", age=" + age + "]";
      	}
      	@Override
      	public int compareTo(User o) {
      		return this.age.compareTo(o.getAge()); //默認(rèn)是升序排列,前提是age必須是Integer類(lèi)型
      		
      		
      		/*if(this.getAge()>o.getAge()) { //這個(gè)也是升序排列
      			return 1;      //代碼含義 :是如果當(dāng)前對(duì)象的數(shù)值與對(duì)比對(duì)象的數(shù)值大的話 返回  1 ,就是說(shuō)(o對(duì)象)放在了前邊
      		}
      		if(this.getAge()<o.getAge()) {
      			return -1;	   //代碼含義 :是如果當(dāng)前對(duì)象的數(shù)值與對(duì)比對(duì)象的數(shù)值小的話 返回  -1 ,就是說(shuō)(當(dāng)前對(duì)象)放在了前邊
      		}
      		return 0;*/        //代碼含義 :return 說(shuō)明這兩個(gè)值相等 不進(jìn)行排序
      		
      		
      		
      		/*
      		 * 定義降序,代碼如下
      		 * if(this.getAge()>o.getAge()){
      		 * 		return -1; //代碼含義 :是如果當(dāng)前對(duì)象的數(shù)值與對(duì)比對(duì)象的數(shù)值大的話 返回  -1 ,就是說(shuō)(當(dāng)前對(duì)象)放在了前邊
      		 * }
      		 * if(this.getAge()<o.getAge()){
      		 * 		return 1; //代碼含義 :是如果當(dāng)前對(duì)象的數(shù)值與對(duì)比對(duì)象的數(shù)值大的話 返回  -1 ,就是說(shuō)(o對(duì)象)放在了前邊
      		 * }
      		 * return 0 ;
      		 * */
      	}
      	
      }
      

        return 1;//大于

        return -1;//小于

        通過(guò)Collections.sort(userList)重新排序

        參考地址:https://blog.csdn.net/wuya112709/article/details/51422156  對(duì)comparable中 1、-1、0 的理解


       第二種方法:如果User類(lèi)沒(méi)有實(shí)現(xiàn)comparable接口,可以自定義一個(gè)比較器(comparator<T>),重寫(xiě)compare方法自定義排序規(guī)則;

      public class MyComparator implements Comparator<T>{
      
      	@Override
      	public int compare(User o1, User o2) {
      		if(o1.getAge()>o2.getAge()) {//升序
      			return 1; //代碼含義:如果第一個(gè)數(shù)值大于第二個(gè)數(shù)值 返回 1,就是說(shuō)把o1放在了o2前
      		}
                if(o1.getAge()<o2.getAge()
                    return -1;//代碼含義:如果第一個(gè)數(shù)值小于都二分?jǐn)?shù)值 返回 -1,就是說(shuō)把o2放在o1前
                }
                return 0; } }

      通過(guò)Collections.sort(userList,new MyComparator())重新排序

       降序就是

                      if(o1.getAge()>o2.getAge()) {//升序
      		     return -1; //代碼含義:如果第一個(gè)數(shù)值大于第二個(gè)數(shù)值 返回 -1,就是說(shuō)把o1放在了o2后
      		}
                if(o1.getAge()<o2.getAge()
                    return 1;//代碼含義:如果第一個(gè)數(shù)值小于都二分?jǐn)?shù)值 返回 1,就是說(shuō)把o1放在了o2前
                }
                return 0;
      

        


       

      第三種方法:通過(guò)Collections.sort(userList,new comparator<User>(){

        重載compare方法,定義排序規(guī)則

      })

      public static void main(String[] args) {
      		List<User> uList = new ArrayList<>();
      		uList.add(new User("夏普",22));
      		uList.add(new User("二貨",1));
      		uList.add(new User("燙頭的",14));
      		uList.add(new User("抽煙的",12));
      		uList.add(new User("趙本山",24));
      		uList.add(new User("韓曉娟",3));
      		uList.add(new User("王海",41));
      		System.out.println("排序之前:"+uList);
      		Collections.sort(uList, new Comparator<User>() {
      
      			@Override
      			public int compare(User o1, User o2) {
      				if(o1.getAge()<o2.getAge()) {
      					return 1;
      				}
      				if(o1.getAge()>o2.getAge()) {
      					return -1;
      				}
      				return 0;
      			}
      		});
      		System.out.println("排序之后:"+uList);
      	}

       

      前兩種方法一定要調(diào)用Collections.sort(userList)方法才會(huì)生效。

      posted on 2020-05-14 12:04  遠(yuǎn)方太遠(yuǎn)  閱讀(368)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 最近免费中文字幕大全| 无码国产玉足脚交极品播放| 亚洲一区二区美女av| 亚洲一区二区视频在线观看| 久久成人国产精品免费软件 | 县级市| 制服丝袜人妻有码无码中文字幕 | 国产成人无码A区在线观看视频| 国产999久久高清免费观看| 巨胸爆乳美女露双奶头挤奶| 久久亚洲精精品中文字幕| 最近中文字幕国产精选| 伊在人间香蕉最新视频| 国内精品大秀视频日韩精品 | 裸身美女无遮挡永久免费视频 | 日本一区二区三区四区黄色| 久久婷婷五月综合色国产免费观看| 国产精品久久久久久人妻精品动漫| 人妻va精品va欧美va| 激情一区二区三区成人文| 国产精品福利自产拍久久| 亚洲午夜爱爱香蕉片| 色吊丝免费av一区二区| 老色批国产在线观看精品| 国产蜜臀在线一区二区三区| 欧美老少配性行为| 蜜臀av一区二区国产在线| 亚洲欧美在线一区中文字幕| 久久中精品中文字幕入口| 亚洲午夜久久久久久噜噜噜| 夜色福利站WWW国产在线视频| 久久影院综合精品| 国产综合精品一区二区三区| 中文字幕av无码免费一区| 亚洲精品不卡无码福利在线观看| 伊人色综合久久天天| 在线一区二区中文字幕| 老师破女学生处特级毛ooo片| 麻豆精品在线| 日本道之久夂综合久久爱| 国产爆乳乱码女大生Av|