「链表查询java」链表查询数据结构
本篇文章给大家谈谈链表查询java,以及链表查询数据结构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java中的链表
- 2、用java的双向链表做一个查询学生的功能
- 3、java的hibernate如何用进行链表查询
- 4、java 为什么 数组的查询快,链表的查询慢
- 5、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和链表查询数据结构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。