java - 如何使 Java 中的自定义泛型类型链表排序?

标签 java sorting linked-list compare

我正在用java编写自己的泛型链表,而不是使用java集合链表。链表的add方法由以下代码组成:

public void add(T item, int position) {
  Node<T> addThis = new Node<T>(item);
  Node<T> prev = head;
  int i;

  if(position <= 0) {
    System.out.println("Error: Cannot add element before position 1.");
  }

  else if(position == 1) {
    addThis.setNext(head);
    head = addThis;
  } else {
    for(i = 1; i < position-1; i++) {
      prev = prev.getNext();
      if(prev == null) {
        System.out.println("Cannot add beyond end of list");
      }
    } // end for
    addThis.setNext(prev.getNext());
    prev.setNext(addThis);
  }
} // end add

如何才能在添加新项目时将该项目与另一个项目进行比较并按字母顺序插入?我研究过使用compareTo,但我不知道该怎么做。

谢谢

编辑: 我有各种类(class):我有一个名为 Dvd 的类(class)它具有标题(字符串)的方法和变量以及该标题的副本数量(整数)。我还有一个linked list class ,一个listinterface ,一个node class ,以及 main class .

最佳答案

您的实现是否扩展了 java.util.List 接口(interface)?

您可以简单地将对象添加到列表中,然后使用 Collections.sort() 对列表进行排序吗?

关于java - 如何使 Java 中的自定义泛型类型链表排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19802104/

相关文章:

java - 如何在 Spring 3/Thymeleaf 中显示带有参数的本地化消息

java - 值没有从另一个类返回

java - 使用 Java 从 JSON 中提取数据

python - 为什么 K 最近点到原点的堆比排序慢?

c - 学习链表 C

java - 如何以相反的顺序迭代 LinkedList 元素?

java - Lombok 生成器不工作

algorithm - 对于有很多重复的列表,我应该使用哪种排序算法?

c# - 使用 .Net 如何使用 Sort 方法对数组进行反向排序,即从 Z 到 A?

c - 链接列表帮助,单链接(多个结构)(C 编程)