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

基于双向链表实现LinkedList

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

基于双向链表实现LinkedList

package com.zl.jdk.hashmap;



public class ExtlinkedList {

    //第一个元素
    private Node first;

    //最后一个元素
    private Node last;

    //链表大小
    private int size=0;

    class Node{

        //前一个节点
        private Node pre;

        //节点内容
        private Object object;

        //后一个节点
        private Node next;
    }

    public void add(E e){
        Node node = new Node();
        if(first == null){
            //集合为空
            node.object = e;
            first = node;
            last = node;
        }else{
            //集合不为空
            //获取最后一个node
            node.object = e;
            node.pre = last;
            last.next = node;
        }
        last = node;
        size ++ ;
    }

    
    public void addIndex(E e,int index){
        if(index < size){
            Node node = new Node();
            node.object = e;
            //获取到原来的位置上的node
            Node oriNode = getNode(index-1);
            //原来位置上的上一个节点
            Node oriPreNode = oriNode.pre;
            oriNode.pre = node;
            oriPreNode.next = node;
            node.next = oriNode;
            node.pre = oriPreNode;
            size++;
        }else{
            add(e);
        }
    }

    public E get(int index){
        Node node = getNode(index);
        return (E)node.object;
    }

    private Node getNode(int index){
        Node node = null;
        if(first != null){
            node = first;
            for(int i=0;i list = new ExtlinkedList();
        list.add("A");
        list.add("E");
        list.add("C");
        list.addIndex("M",2);

        for(int i=0; i 

总结:

        链表的特点就是每个元素都会知道上一个或下一个元素,本文通过双向链表的方式实现了java中的linkedList

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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