温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行Java list排序的解析

发布时间:2021-11-20 16:25:53 来源:亿速云 阅读:158 作者:柒染 栏目:编程语言

这篇文章将为大家详细讲解有关如何进行Java list排序的解析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

此处Java list 排序主要用到Collections.sort方法

package com.tom.compare;   import java.util.ArrayList;   import java.util.Collections;   import java.util.Comparator;   import java.util.List;   public class CompareClient {    /**     * @param args     */   public static void main(String[] args) {     // TODO Auto-generated method stub     List list = new ArrayList();     list.add(new Content(15000,"1asdfasd5000"));     list.add(new Content(10000,"10000"));     list.add(new Content(20000,"20000"));     list.add(new Content(30000,"30000"));     list.add(new Content(25000,"25000"));     list.add(new Content(13000,"13000"));     list.add(new Content(15000,"15000"));       list.add(new Content(89000,"89000"));          ContentComparator comp = new ContentComparator();       Collections.sort(list,comp);          Content content;     for(int i = 0; i < list.size(); i++){      content = (Content)list.get(i);      System.out.println(" content.getName() " + content.getName());     }    }   }   package com.tom.compare;   import java.util.Comparator;   public class ContentComparator implements Comparator {    public int compare(Object o1, Object o2) {     // TODO Auto-generated method stub     Content c1 = (Content) o1;     Content c2 = (Content) o2;     if (c1.getKey() > c2.getKey()) {      return 1;     } else {      if (c1.getKey() == c2.getKey()) {       return 0;      } else {       return -1;      }     }    }   }   package com.tom.compare;   public class Content {    private long key;    private String name;    public Content(long key, String name) {     this.key = key;     this.name = name;    }    public long getKey() {     return key;    }    public void setKey(long key) {     this.key = key;    }    public String getName() {     return name;    }    public void setName(String name) {     this.name = name;    }   }

结果是:

content.getName() 10000  content.getName() 13000  content.getName() 1asdfasd5000   content.getName() 15000  content.getName() 20000  content.getName() 25000  content.getName() 30000  content.getName() 89000

以下为按时间排序:

public   static   void   sss()   {                  String[]   dates   =   {                        "2   Dec   2003   12:12:05",                        "2   Apr   2003   13:12:05",                        "2   Jan   2003   10:12:05",                        "2   Feb   2003   15:12:05",                  };                  java.text.SimpleDateFormat   f   =   new   java.text.SimpleDateFormat("d   MMM   y   HH:mm:ss",Locale.ENGLISH);                  try{                        System.out.println("before:");                        for(int   i   =   0;   i<dates.length;   i++)   {                              System.out.println(dates[i]);                        }                             Arrays.sort(dates,   new   Comparator()   {                              public   int   compare(Object   o1,   Object   o2){                                    try{                                          SimpleDateFormat   df   =   new   java.text.SimpleDateFormat("d   MMM   y   HH:mm:ss",Locale.ENGLISH);                                          Date   d1   =   df.parse((String)o1);                                          Date   d2   =   df.parse((String)o2);                                          return   d1.compareTo(d2);                                          }catch(Exception   e){e.printStackTrace();}                                          return   -1;                              }                        });                        System.out.println("after:");                        for(int   i   =   0;   i<dates.length;   i++)   {                              System.out.println(dates[i]);                        }                  }catch(Exception   e){e.printStackTrace();}            }

关于如何进行Java list排序的解析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI