Java链表与第一个元素进行比较,并使用peek()方法删除

查拉

创建了Java链表以添加一些数据。想要比较该链接列表中的第一个数据。当我使用peek()时,它不起作用。任何其他获取前端元素并进行比较的方法,或者如何编写peek()方法

LinkList类:

package list;

public class LinkList {
    private class Node<T> {

        public final T data;
        public Node next;

        public Node(T data) {
            this.data = data;
        }

        public void displayNode() {
            System.out.print(data + " ");
        }
    }

    public static Node first = null;
    private Node last = null;

    public boolean isEmpty() {
        return (first == null);
    }

    public <T> void addLast(T data) {
        Node n = new Node(data);
        if (isEmpty()) {
            n.next = first;
            first = n;
            last = n;
        } else {
            last.next = n;
            last = n;
            last.next = null;
        }
    }

    public void removeFirst() {

        Node temp = first;
        if (first.next == null) {
            last = null;
        }
        first = first.next;

    }

    public void displayList() {
        Node current = first;
        while (current != null) {
            current.displayNode();
            current = current.next;
        }
    }

}

LinkListQueue:

package list;

public class LinkListQueue {
    LinkList newLinkList = new LinkList();

    public <T> void enqueue(T data) {
        newLinkList.addLast(data);

    }

    public void dequeue() {
        if (!newLinkList.isEmpty()) {
            newLinkList.removeFirst();
        }

    }

    public String displayQueue() {
        newLinkList.displayList();
        System.out.println();

        return "";
    }

    public boolean isEmpty() {
        return newLinkList.isEmpty();
    }
}

LinkListQueueMain:

package list;

public class LinkListqueueMain {
    public String getValue=null;
    public static String displayQ = null;
    static LinkListQueue queueImpl = new LinkListQueue();
    static LinkList linkList = new LinkList();

    public static void main(String[] args) {
        runData();
    }

    public static void runData() {
        queueImpl.enqueue("80%");
        queueImpl.enqueue("70%");
        queueImpl.enqueue("60%");
        queueImpl.enqueue("85%");
        queueImpl.enqueue("45%");
        queueImpl.enqueue("55%");

        for (int i = 0; i < 5; i++) {
            System.out.println(linkList.toString());
        }
    }
}

这是我的代码。任何想法如何做到这一点?

乔普·艾根(Joop Eggen)

首先,您需要配置LinkList,而不一定是节点,因为LinkList是外部世界的公共API。

public class LinkList<T> {
    private static class Node {

然后,您可以返回删除的值。(removeFirst可以在空列表上引发NullPointerException。)

public T removeFirst() {
    T removed = first.data;
    if (first.next == null) {
        last = null;
    }
    first = first.next;
    return removed;
}

public T peekFirst() {
    return first.data;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除循环链表中的第一个元素

来自分类Dev

如何使用remove方法删除链表中的第一个节点

来自分类Dev

为什么我的链表的delete_last_element删除第一个元素?

来自分类Dev

在函数中删除第一个元素后如何更新链表的pHead?

来自分类Dev

将列表的第一个元素与另一个列表进行比较

来自分类Dev

链表遍历会跳过第一个元素

来自分类Dev

搜索正在跳过Java链表中的第一个元素

来自分类Dev

如何初始化双向链表,然后在java中添加第一个元素?

来自分类Dev

值对并使用第一个 java 进行排序

来自分类Dev

如何从双向链表中删除第一个和最后一个节点?

来自分类Dev

在不使用shift()方法的情况下删除数组中的第一个元素

来自分类Dev

Javascript如何将数组中的第一个元素与其他元素进行比较

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

ArrayList删除第一个元素

来自分类Dev

删除VBA阵列的第一个元素

来自分类Dev

在列表中删除元组的第一个元素

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

Vuex 只删除第一个元素

来自分类Dev

在列表的第一个元素上进行Foreach

来自分类Dev

删除第一个元素,但希望它删除最后一个元素

来自分类Dev

按内部列表的第一个元素对列表列表进行排序(Java或groovy)

来自分类Dev

如何使用jQuery删除除第一个div以外的克隆元素div

来自分类Dev

如何使用jQuery链接按钮并删除列表的第一个元素?

来自分类Dev

如何使用jQuery删除除第一个div以外的克隆元素div

来自分类Dev

使用 Javascript (ES6) 删除元素中的第一个字母

来自分类Dev

Haskell-内置元组,其中Ord定义为仅按第一个元素进行比较?

来自分类Dev

如何从Oracle的链表中获取第一个元素?

来自分类Dev

重复(自定义)双链表的第一个元素

来自分类Dev

打印链表数据时只打印第一个元素

Related 相关文章

  1. 1

    删除循环链表中的第一个元素

  2. 2

    如何使用remove方法删除链表中的第一个节点

  3. 3

    为什么我的链表的delete_last_element删除第一个元素?

  4. 4

    在函数中删除第一个元素后如何更新链表的pHead?

  5. 5

    将列表的第一个元素与另一个列表进行比较

  6. 6

    链表遍历会跳过第一个元素

  7. 7

    搜索正在跳过Java链表中的第一个元素

  8. 8

    如何初始化双向链表,然后在java中添加第一个元素?

  9. 9

    值对并使用第一个 java 进行排序

  10. 10

    如何从双向链表中删除第一个和最后一个节点?

  11. 11

    在不使用shift()方法的情况下删除数组中的第一个元素

  12. 12

    Javascript如何将数组中的第一个元素与其他元素进行比较

  13. 13

    TreeMap获取第一个元素并删除

  14. 14

    ArrayList删除第一个元素

  15. 15

    删除VBA阵列的第一个元素

  16. 16

    在列表中删除元组的第一个元素

  17. 17

    TreeMap获取第一个元素并删除

  18. 18

    Vuex 只删除第一个元素

  19. 19

    在列表的第一个元素上进行Foreach

  20. 20

    删除第一个元素,但希望它删除最后一个元素

  21. 21

    按内部列表的第一个元素对列表列表进行排序(Java或groovy)

  22. 22

    如何使用jQuery删除除第一个div以外的克隆元素div

  23. 23

    如何使用jQuery链接按钮并删除列表的第一个元素?

  24. 24

    如何使用jQuery删除除第一个div以外的克隆元素div

  25. 25

    使用 Javascript (ES6) 删除元素中的第一个字母

  26. 26

    Haskell-内置元组,其中Ord定义为仅按第一个元素进行比较?

  27. 27

    如何从Oracle的链表中获取第一个元素?

  28. 28

    重复(自定义)双链表的第一个元素

  29. 29

    打印链表数据时只打印第一个元素

热门标签

归档