java - 如何制作有序链表?

标签 java linked-list comparator

 public void sort1(){
    Comparator<OCell> byOrder = new Comparator<OCell>(){

        public int compare(OCell c1, OCell c2){
            return c1.getData() < c2.getData();
        }
    };
    Collections.sort(list, byOrder);
    print();
}
static OLinkedList<Integer> list = new OLinkedList<Integer>();

这是我到目前为止所想到的,但它不起作用。有什么帮助吗?

最佳答案

一个Comparator.compare方法必须返回一个整数,但你的表达式 c1.getData() < c2.getData()是一个 boolean 表达式。您必须修复您的方法,也许如下所示:

c1.getData() > c2.getData() ? 1 : (c1.getData() < c2.getData() ? -1 : 0)

关于java - 如何制作有序链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886673/

相关文章:

java - 如何在 Java 中为 LinkedList 实现实现追加和删除节点方法?

android - 在 Android 中使用 Glide 和 Kotlin 在 ScrollView/RecyclerView 中显示 n 个图像

java - 自定义比较器

java - 如何先按值排序 Map 条目,然后按键排序并将排序的键放入列表中?

java - 重复数组的元素

java - 当输入流开始读取时,输出流开始写入

c - C中如何为链表的头部分配空间?

java - 替换字符串中所有其他两个Java字符之间的字符

java - Executors.newFixedThreadPool(1) 和 Executors.newSingleThreadExecutor() 之间的区别

c - 如何在不交换数据的情况下交换两个节点