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

标签 java linked-list

我在我的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)他的论点。

关于java - 如何根据元素的一个字段的值对java中的链表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369757/

相关文章:

java - 使用IC卡读卡器和SLE5528智能卡

JavaFX TableView-TextField 绑定(bind)

java - LinkedList 对象 add() 函数不更新值 - java

java - 如何使用 get 方法从链表中获取元素

c - 结构并列出当 temp 为 null 时此代码执行的操作

python - 围绕一个值 x : Cracking the coding Interview book 划分链表

c - 在 C 中对链表进行排序

java - 这种情况需要同步吗

java - 如何重定向到网络中心站点中的页面

java - Servlet Spec 3.0 不渲染 JSP 包含