「链表查询java」链表查询数据结构

博主:adminadmin 2022-11-27 22:31:08 70

本篇文章给大家谈谈链表查询java,以及链表查询数据结构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java中的链表

链表就好比我们手表或者手链,没有开头和结尾,到处都可以插入和去除,所以增删速度快查询速度慢,更多java知识可以来群,前面是二九六,中间是五九一,最后是二九零。

用java的双向链表做一个查询学生的功能

public class LinkedList {

    private Node start;

    private Node end;

    private Integer size = 0;

    public LinkedList() {

        start = new Node(null, null, null);

        end = new Node(null, null, null);

        start.next = end;

        end.prev = start;

    }

    public void addAllNodes(Object[] nodes) {

        for (Object o : nodes) {

            Node node = new Node(o);

            end.prev.next = node;

            node.prev = end.prev;

            end.prev = node;

            node.next = end;

            size++;

        }

    }

    @Override

    public String toString() {

        Node current = start;

        StringBuilder sb = new StringBuilder();

        while (current.next != null  current.next != end) {

            sb.append(current.next.data + "-");

            current = current.next;

        }

        sb.setLength(sb.length() - 2);

        return sb.toString();

    }

    public static class Node {

        private Object data;

        private Node next;

        private Node prev;

        public Node(Object data) {

            this.setData(data);

        }

        public Node(Object data, Node next, Node prev) {

            this.setData(data);

            this.setNext(next);

            this.setPrev(prev);

        }

        public void setData(Object data) {

            this.data = data;

        }

        public Object getData() {

            return data;

        }

        public void setNext(Node next) {

            this.next = next;

        }

        public Node getNext() {

            return next;

        }

        public void setPrev(Node prev) {

            this.prev = prev;

        }

        public Node getPrev() {

            return prev;

        }

    }

    public static void main(String args[]) {

        LinkedList ll = new LinkedList();

        ll.addAllNodes(new Object[] { "a", "b", "c", "d" });

        Scanner sc = new Scanner(System.in);

        System.out.println(ll.toString());

        boolean quit = false;

        Node asc = null;

        Node desc = null;

        while (!quit) {

            int commond = sc.nextInt();

            switch (commond) {

            case 1:

                if (asc == null) {

                    asc = ll.start.next;

                } else if (asc == ll.end) {

                    // do nothing

                } else {

                    asc = asc.next;

                }

                System.out.println(asc == ll.end ? "已经到了末尾!" : asc.data);

                break;

            case 2:

                if (desc == null) {

                    desc = ll.end.prev;

                } else if (desc == ll.start) {

                    // do nothing

                } else {

                    desc = desc.prev;

                }

                System.out.println(desc == ll.start ? "已经到了起始!" : desc.data);

                break;

            case 0:

                quit = true;

                break;

            default:// do nothing;

            }

        }

    }

    public Integer getSize() {

        return size;

    }

}

//功能跟你的有点差距,不过大体就是这样了。

java的hibernate如何用进行链表查询

创建一个实体类,里面包含数据库的所有字段,然后循环遍历,一个个赋值即可。

java 为什么 数组的查询快,链表的查询慢

这是由存储结构决定的。数组是按顺序存储的,所以查询速度快。链表插入和删除操作较快。

其实这和语言没什么关系,是一个基本的数据结构问题

Java中如何利用链表进行搜索相关信息

一定要用链表吗??

用链表也可以呀,ArrayList实现咯,不过底层是数组,搜索的话,list.contains(学生),存在则返回true,否则返回false。 增加的话,如果有则不管,没有则加。 删除同理。 不过效率可能不高哦,当然数据量不大的情况下看不出来。

推荐用HashMap更好。

关于链表查询java和链表查询数据结构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。