Vector基本介绍
Vector VS ArrayList
Vector底层原码断点分析
package chapter17.List; import java.util.Vector; public class Vector01 { public static void main(String[] args) { Vector vector = new Vector(); for (int i = 0; i <10 ; i++) { vector.add(i); } vector.add(6); System.out.println(vector); } }
LinkedList双向链表
package chapter17.List; public class LinkedList01 { public static void main(String[] args) { //模拟一个简单双向链表 Node xx = new Node("xx"); Node yy = new Node("yy"); Node zz = new Node("zz"); //连接三个结点,形成双向链表 xx.next=yy; yy.next=zz; zz.pre=yy; yy.pre=xx; Node first = xx;//头结点 Node last = zz; //尾结点 while (true){ if (first==null){ break; } System.out.println(first); first=first.next; //last=last.pre 从尾到头 } //演示链表添加对象/数据 很方便 在yy和zz中插入smith //1.创建一个Node结点,name是smith Node smith = new Node("smith"); smith.next=zz; smith.pre=yy; zz.pre=smith; yy.next=smith; first = xx;//重新指一下 System.out.println("======插入后======"); while (true){ if (first==null){ break; } System.out.println(first); first=first.next; //last=last.pre 从尾到头 } } } class Node{//定义一个Node类,Node对象 表示双向链表的一个结点 public Object item;//真正存放数据 public Node next;//指向下一个结点 public Node pre;//指向前一个结点 public Node(Object name){ this.item=name; } public String toString(){ return "Node name"+item; } }
LinkedList CRUD 断点原码分析
package chapter17.List; import java.util.Iterator; import java.util.LinkedList; //原码断点分析 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);//[1, 2, 3] linkedList.remove();//默认删除第一个 System.out.println(linkedList);//[2, 3] linkedList.set(1,999); System.out.println(linkedList);//修改结点对象 [2, 999] System.out.println(linkedList.get(1));//得到对象 999 //LinkedList实现List接口 遍历方法 Iterator iterator = linkedList.iterator();//迭代器遍历 while (iterator.hasNext()) { Object next = iterator.next(); System.out.println("next="+next);//next=2 next=999 } for (Object o :linkedList) {//增强for遍历 System.out.println(o);//2 999 } for (int i = 0; i < linkedList.size() ; i++) {//传统遍历 System.out.println(linkedList.get(i)); } } }
ArrayList Vs LinkedList