栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

集合--LinkList

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

集合--LinkList

linkList
  1. linkedList底层实现了双向链表和双端队列特点.
  2. 可以添加任意元素(元素可以重复),包括null。
  3. 线程是不安全的。没有实现同步。
linkList底层操作机制

1)linkedList底层维护了一个双向链表

2)linkedList中维护了两个属性first和last分别指向首节点和尾节点

3)每个节点里面又维护了prev、next、item三个属性,(Node对象)通过next指向后一个节点。prev指向前一个,最终实现双向链表

4)所以linkedList的元素的添加和删除,不是通过数组完成的,相对来说效率较高

package List.linkedList;

import java.util.linkedList;
import java.util.List;


public class linkedList_ {
    public static void main(String[] args) {
        Node jack = new Node("jack");
        Node tom = new Node("tom");
        Node lqh = new Node("小陆");
        jack.next = tom;
        tom.next = lqh;
        lqh.pre = tom;
        tom.pre = jack;

        Node first = jack;//让first引用指向jack,就是双向链表的头结点
        Node last = lqh; //让last引用指向hsp,就是双向链表的尾结点
        //演示,从头到尾进行遍历
        System.out.println("===从头到尾进行遍历===");
        while (true) {
            if (first == null) {
                break;
            }
            System.out.println(first);
            first = first.next;
        }
        //演示,从尾到头的遍历
        System.out.println("====从尾到头的遍历====");
        while (true) {
            if (last == null) {
                break;
            }
            //输出last 信息
            System.out.println(last);
            last = last.pre;
        }
        Node ls = new Node("刘舒");
        ls.next = lqh;
        tom.next = ls;
        lqh.pre = ls;
        ls.pre =tom;
        first = jack;
        System.out.println("===从头到尾进行遍历===");
        while (true) {
            if(first == null) {
                break;
            }
            //输出first 信息
            System.out.println(first);
            first = first.next;
        }

    }
}


//定义一个Node 类,Node 对象 表示双向链表的一个结点
class Node {
    public Object item; //真正存放数据
    public Node next; //指向后一个结点
    public Node pre; //指向前一个结点
    public Node(Object name) {
        this.item = name;
    }
    public String toString() {
        return "Node name=" + item;
    }
}
linkList-CRUD
package List.linkedList;

import javax.xml.transform.Source;
import java.util.Iterator;
import java.util.linkedList;
import java.util.List;
import java.util.WeakHashMap;

public class CRUD {
    public static void main(String[] args) {
        linkedList list = new linkedList();
       //增
        list.add(1);
        list.add("hello");
        list.add('a');
        //删
        list.remove();// 默认删除第一个
        //  list.remove(2);
        //改
        list.set(1, "java");
        Object o = list.get(1);
        System.out.println(o);
        System.out.println(list);
        //查
        Iterator it = list.iterator();
        while (it.hasNext()){
            Object next = it.next();
            System.out.print(next+" ");
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号