如何在自定义有序链表 class 中允许重复项?

How can I allow duplicates in a custom Ordered Linked List class?

我有一项任务是从头开始创建自定义有序链表。我很高兴在作业中获得近乎完美的分数,但我因不允许重复而被算作。假设我添加 "A",然后再次添加 "A"。它只打印一个 "A"。有人对我如何实施这个有什么建议吗?我将展示我的添加方法。如果有人需要更多代码,请随时询问,我很乐意提供。

注意:作业已经完成,因此已经评分。

  public boolean add(Comparable obj) {
    // TODO: Implement this method (8 points)

    //FOR REFERENCE - public OrderedListNode(Comparable item, OrderedListNode previous, OrderedListNode next) {

    try {
        OrderedListNode node; //create new OrderedListNode for comparison

        for (node = head; node.next != tail; node = node.next) { //loop one node at a time until next node is tail

            int compare = obj.compareTo(node.next.dataItem); //compare current object with next node

            if (compare == 0) {
                return false; // Nope
            }
            if (compare < 0) { //obj is less than next node, so insert previous next
                break;
            }
        }
        OrderedListNode newNode = new OrderedListNode(obj, node, node.next);
        newNode.next.previous = newNode; //swapping nodes
        node.next = newNode;
        System.out.println("Added: " + obj); //display elements added

        modCount++; //another modification
        theSize++; //increment size by 1

    } catch (ClassCastException e) { //give message to user
        System.out.println(RED + "Caught Exception" + RESET_COLOR);
        System.out.println("'" + obj +"'" + RED + " not added" + RESET_COLOR);
    }
    return true; //successful add
}  

改变

if (compare == 0) {
 return false; // Nope
}
if (compare < 0) { //obj is less than next node, so insert previous next
 break;
}

if (compare <= 0) { //obj is less than or equal next node, so insert previous next
 break;
}

在我看来,如果该项目与另一项目相同,您仍然可以插入该项目。