java - 如何根据元素的一个字段的值对java中的链表进行排序?

我在我的java程序中使用了一个链表,元素是一个自定义类型,它有三个字段,其中一个是Integer类型。我的问题是:如何根据 Integer 字段的值对链表进行排序?

最佳答案

您可以将 Collections.sort 方法与自定义比较器结合使用。

Collections.sort(your_list, new Comparator<YoureValueType>(){
   @Override
   public int compare(YoureValueType o1, YoureValueType o2){
        if(o1.getMagicInt() < o2.getMagicInt()){
           return -1; 
        }
        if(o1.getMagicInt() > o2.getMagicInt()){
           return 1; 
        }
        return 0;
   }
}); 

编辑:我刚刚看到 Alexandr 在 waldheinz 回答中评论了非常大和非常小的值。我更新了我的代码以反射(reflect)他的论点。

https://stackoverflow.com/questions/6369757/

相关文章:

amazon-ec2 - 使用pscp自动接受rsa指纹

function - 为什么 Matlab 看不到我的函数?

f# - 将字典键添加到 F# 中的构造函数

django - 将 Django 模型/表拆分为两个模型/表是否有性能优势?

perl - 为 LWP::UserAgent 设置参数时出现问题

java - 从代数表达式创建二叉树

ruby-on-rails-3 - Rails 3 在不注销的情况下设计更新密码

ruby-on-rails - ruby rails : How can I add a css f

sql - 是什么导致了这种奇怪的 SQL 行为?

objective-c - [pool release] 和 [pool drain] 有什么区别?