public class LinkedListCRUD {
public static void main(String[] args) {
LinkedList linkedList = new LinkedList();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
System.out.println(“linkedList=” + linkedList);
//演示一个删除结点的
linkedList.remove(); // 这里默认删除的是第一个结点
//linkedList.remove(2);
System.out.println(“linkedList=” + linkedList);
//修改某个结点对象
linkedList.set(1, 999);
System.out.println(“linkedList=” + linkedList);
//得到某个结点对象
//get(1) 是得到双向链表的第二个对象韩顺平循序渐进学 Java 零基础
第 636页
Object o = linkedList.get(1);
System.out.println(o);//999
//因为 LinkedList 是 实现了 List 接口, 遍历方式
System.out.println(“=LinkeList 遍历迭代器==”);
Iterator iterator = linkedList.iterator();
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.println(“next=” + next);
}
System.out.println(“=LinkeList 遍历增强 for==”);
for (Object o1 : linkedList) {
System.out.println(“o1=” + o1);
}
System.out.println(“=LinkeList 遍历普通 for==”);
for (int i = 0; i < linkedList.size(); i++) {
System.out.println(linkedList.get(i));
}
//老韩源码阅读. /* 1. LinkedList linkedList = new LinkedList();
public LinkedList() {}
2. 这时 linkeList 的属性 first = null last = null韩顺平循序渐进学 Java 零基础
3. 执行 添加
public boolean add(E e) {
linkLast(e);
return true;
}
4.将新的结点,加入到双向链表的最后
void linkLast(E e) {
final Node l = last;
final Node newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
modCount++;
}
/
/
老韩读源码 linkedList.remove(); // 这里默认删除的是第一个结点
相关文章
- 【Java笔记】LinkedList 底层结构
- JAVA数据结构- 有序集合,允许有重复元素,常用实现类包括ArrayList,LinkedList和Vector。 List<String> list = new ArrayList<>; list.add("A"); list.add("B"); ArrayList:
- Java--集合之vector&linkedlist&hashset结构
- 高级java每日一道面试题-2024年10月4日-数据库篇-MySQL索引底层结构为什么使用B+树?-我回答:
- Java基础学习笔记(六) - 数据结构和集合
- java核心技术学习笔记之三程序设计结构
- Java数据结构漫谈-LinkedList
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
- JAVA中的数据结构——集合类(线性表:Vector、Stack、LinkedList、set接口;键值对:Hashtable、Map接口
) - 深入理解Java虚拟机学习笔记(三)-----类文件结构/虚拟机类加载机制