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

Java集合——LinkedList源码

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

Java集合——LinkedList源码

关键源码(jdk1.7和jdk1.8相同)

public class linkedList
    extends AbstractSequentialList
    implements List, Deque, Cloneable, java.io.Serializable
{
    // 有效个数
    transient int size = 0;

    // 头结点
    transient Node first;

    // 尾节点
    transient Node last;

    // 默认构造器
    public linkedList() {
    }

    // add方法,插入到链表的尾部
    public boolean add(E e) {
        linkLast(e);
        return true;
    }

    // get方法
    public E get(int index) {
        checkElementIndex(index);
        return node(index).item;
    }

    // 查找下标index所在的元素,分两边找:小于一半的从头部开始找;大于一半的从尾部开始找。
    Node node(int index) {
        if (index < (size >> 1)) {
            Node x = first;
            for (int i = 0; i < index; i++)
                x = x.next;
            return x;
        } else {
            Node x = last;
            for (int i = size - 1; i > index; i--)
                x = x.prev;
            return x;
        }
    }

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

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

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