网站建设哪些公司好,东莞网站建设咨询,网站开发流程怎么写,专业网站建设网站推广LinkedList LinkedList 是 Java 中的一个双向链表数据结构。它由一系列节点组成#xff0c;每个节点包含数据元素和指向前一个节点和后一个节点的引用。这种结构使 LinkedList 在插入和删除操作方面非常高效#xff0c;因为它不需要像数组一样重新分配内存空间。 基础操作
初…LinkedList LinkedList 是 Java 中的一个双向链表数据结构。它由一系列节点组成每个节点包含数据元素和指向前一个节点和后一个节点的引用。这种结构使 LinkedList 在插入和删除操作方面非常高效因为它不需要像数组一样重新分配内存空间。 基础操作
初始化集合
// 默认构造器初始化
LinkedListString linkedList new LinkedList();
// 通过List初始化器进行LinkedList的初始化
LinkedListString linkedList2 new LinkedList(List.of(a,b,c,d));添加元素
linkedList.add(demo1);
linkedList.add(1,demo2); // 在指定索引位置进行插入元素
linkedList.add(demo3);
linkedList.add(demo4);
linkedList.addFirst(first); // 在集合首部插入元素
linkedList.addLast(last); // 在集合尾部插入元素获取元素
linkedList.get(0); // 获取指定索引的元素
linkedList.getLast(); // 获取集合的最后一个元素
linkedList.getFirst(); // 获取集合的第一个元素删除元素
linkedList.remove(); // 删除当前集合的最后一个的元素
linkedList.remove(1); // 删除集合中指定索引的元素
linkedList.remove(demo4); // 删除集合中指定值的元素替换元素
linkedList.set(1,替换); // 替换集合中指定索引的元素遍历元素
// 传统for
for(int i0;ilinkedList.size();i){System.out.println(linkedList.get(i));
}// for each
for(String item : linkedList){System.out.println(item);
}// iterator 迭代器
IteratorString iterator linkedList.iterator();
while (iterator.hasNext()){System.out.println(iterator.next());
}其余API就不一一列举了和ArrayList基本差不多不一样的查看API文档即可。 LinkedList 独有的操作
队列相关的API
方法名称功能描述public boolean offer(E e)入队操作在队列集合中添加一个元素public boolean offerFirst(E e)入队操作在队列集合中添加一个元素到队首底层还是addFirst(E e)public boolean offerLast(E e)入队操作在队列集合中添加一个元素到队尾底层还是addLast(E e)public E poll()出队操作在队列集合中出队一个元素public E pollLast()出队操作在队列集合中出队队尾的元素public E pollFirst()出队操作在队列集合中出队队首的元素
LinkedListString queue new LinkedList();
// 入队
queue.offer(1);
queue.offer(2);
queue.offer(3);
// 出队
queue.poll();
System.out.println(queue);栈相关API
方法名称功能描述public void push(E e)入栈操作给栈集合中添加一个元素底层是 addFirst(e);public E pop()出栈操作给栈集合中删除一个元素底层是removeFirst()
LinkedListString stack new LinkedList();
// 入栈
stack.push(a);
stack.push(b);
stack.push(c);
// 出栈
stack.pop();
System.out.println(stack);循环链表
小结
LinkedList 在插入和删除操作方面比ArrayList快因为LinkedList是基于双向链表实现的而ArrayList是动态数组对于插入和删除操作是移动大量的元素比较慢。
LinkedList随机访问元素时性能比较差因为他需要从头开始逐个比较元素值来进行访问而ArrayList随机访问元素非常快直接通过索引下标去访问。
使用LinkedList时应该考虑当前场景是否要进行多次的随机访问如果有大量的随机访问还是使用ArrayList较好。