资讯专栏INFORMATION COLUMN

ArrayList源码(改)(查)

sean / 1737人阅读

摘要:改传入更改元素的位置和内容,将被更改的元素传出查查询某元素是否存在查询某个元素位置正向查询某个元素位置反向获取某个未知的元素

// 传入更改元素的位置和内容,将被更改的元素传出
public E set(int index, E element) {
    rangeCheck(index);

    E oldValue = elementData(index);
    elementData[index] = element;
    return oldValue;
}

// 查询某元素是否存在
public boolean contains(Object o) {
    return indexOf(o) >= 0;
}
// 查询某个元素位置正向
public int indexOf(Object o) {
    if (o == null) {
        for (int i = 0; i < size; i++)
            if (elementData[i]==null)
                return i;
    } else {
        for (int i = 0; i < size; i++)
            if (o.equals(elementData[i]))
                return i;
    }
    return -1;
}
// 查询某个元素位置反向
public int lastIndexOf(Object o) {
    if (o == null) {
        for (int i = size-1; i >= 0; i--)
            if (elementData[i]==null)
                return i;
    } else {
        for (int i = size-1; i >= 0; i--)
            if (o.equals(elementData[i]))
                return i;
    }
    return -1;
}
// 获取某个未知的元素
public E get(int index) {
    rangeCheck(index);

    return elementData(index);
}
E elementData(int index) {
    return (E) elementData[index];
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72769.html

相关文章

  • JDK源码那些事儿之常用的ArrayList

    摘要:前面已经讲解集合中的并且也对其中使用的红黑树结构做了对应的说明,这次就来看下简单一些的另一个集合类,也是日常经常使用到的,整体来说,算是比较好理解的集合了,一起来看下前言版本类定义继承了,实现了,提供对数组队列的增删改查操作实现接口,提供随 前面已经讲解集合中的HashMap并且也对其中使用的红黑树结构做了对应的说明,这次就来看下简单一些的另一个集合类,也是日常经常使用到的ArrayL...

    hizengzeng 评论0 收藏0
  • List&Map&Set的操作和遍历

    摘要:的操作和遍历的三大集合即。的实现类原理比较简单,比较复杂,而其实是基于的一种实现。 List&Map&Set的操作和遍历 Java的三大集合即:Set、List、Map。 Set:代表无序、不可重复的集合,常用的有HashSet(哈希表实现)、TreeSet(红黑树实现); List:代表有序、可以重复的集合,比较常用的有ArrayList(数组实现)、LinkedList(链表实现...

    lavnFan 评论0 收藏0
  • 源码看Java集合之ArrayList

    摘要:集合之吃透增删查改从源码看初始化以及增删查改,学习。一初始化无参的构造器可以看到这个构造器初始化了一个空数组。指定长度的构造器这个构造器显式的指明了数组的长度,其实如果小于的话,在添加第一个元素的时候还是会扩充到长度为的数组。 Java集合之ArrayList - 吃透增删查改 从源码看初始化以及增删查改,学习ArrayList。 先来看下ArrayList定义的几个属性: priva...

    seasonley 评论0 收藏0
  • 带你了解集合世界的fail-fast机制 和 CopyOnWriteArrayList 源码详解

    摘要:体现的就是适配器模式。数组对象集合世界中的机制机制集合世界中比较常见的错误检测机制,防止在对集合进行遍历过程当中,出现意料之外的修改,会通过异常暴力的反应出来。而在增强循环中,集合遍历是通过进行的。 前言 学习情况记录 时间:week 2 SMART子目标 :Java 容器 记录在学习Java容器 知识点中,关于List的重点知识点。 知识点概览: 容器中的设计模式 从Array...

    young.li 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<