一、链表列表在存储方式上和数组列表的不同
链表列表的存储空间不连续。更有效利用了碎片化的存储空间。
二、什么是链表列表
链表列表由节点组成,每个节点上有存储的数据和下一个节点的地址,最后一个节点的指向下一个节点为null
三、定义链表列表
1.定义一个节点类,有数据和下一个节点两个属性
public class Node<E> {
private E data;
private Node<E> next;
public Node(E data){
this.data = data;
}
}
2.定义链表列表的可操作方法,通常至少拥有增加元素、删除元素、修改元素、查找元素方法
链表有头结点、尾节点、长度三个属性
(1).增加元素、创建一个新的节点对象,如果链表为空,把新节点设为头节点,不为空就把尾节点的下一个节点指向新节点,并把新节点设置为尾节点,长度加一。
(2).删除元素、将要删除元素的前一个节点的下一个节点指向要删除元素的后一个节点,长度减一。
(3).修改元素、查找到位置,将节点的数据属性修改为新数据
(4).查找元素、return (E) node.getData();
四、数组列表和链表列表的对比
1.对于查询、修改,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
2.对于新增、删除,LinedList比较占优势,因为ArrayList要移动数据。
链表列表的存储空间不连续。更有效利用了碎片化的存储空间。
二、什么是链表列表
链表列表由节点组成,每个节点上有存储的数据和下一个节点的地址,最后一个节点的指向下一个节点为null
三、定义链表列表
1.定义一个节点类,有数据和下一个节点两个属性
public class Node<E> {
private E data;
private Node<E> next;
public Node(E data){
this.data = data;
}
}
2.定义链表列表的可操作方法,通常至少拥有增加元素、删除元素、修改元素、查找元素方法
链表有头结点、尾节点、长度三个属性
(1).增加元素、创建一个新的节点对象,如果链表为空,把新节点设为头节点,不为空就把尾节点的下一个节点指向新节点,并把新节点设置为尾节点,长度加一。
(2).删除元素、将要删除元素的前一个节点的下一个节点指向要删除元素的后一个节点,长度减一。
(3).修改元素、查找到位置,将节点的数据属性修改为新数据
(4).查找元素、return (E) node.getData();
四、数组列表和链表列表的对比
1.对于查询、修改,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
2.对于新增、删除,LinedList比较占优势,因为ArrayList要移动数据。