Java源码阅读---ArrayList

本文探讨了Java中处理null值的特性,通过示例展示了null值如何使用equals方法和双等号进行比较。此外,还介绍了集合的两种迭代方式——hasNext()和hasPrevious(),以及它们对应的indexOf和lastIndexOf方法在遍历和查找元素时的应用。最后,文章讲解了Java中如何通过函数重载实现缺省参数,以添加元素为例,展示了如何在不同位置插入元素的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.单独检查null的原因

null元素不能通过equals函数进行比较

System.out.println(null==null);
System.out.println(null.equals(null));

结果 :

2.两种迭代方式

it.hasNext() //从前往后遍历
it.hasPrevious()//从后往前遍历

分别对应

public int indexOf(Object o)//元素第一次出现的索引
public int lastIndexOf(Object o)//元素最后一次出现的索引

3.通过函数重载实现缺省参数

以添加元素为例

默认添加到末尾

 public boolean add(E e) {
        add(size(), e);
        return true;
    }

也可以指定添加位置

public void add(int index, E element) {
        rangeCheckForAdd(index);
        modCount++;
        final int s;
        Object[] elementData;
        if ((s = size) == (elementData = this.elementData).length)
            elementData = grow();
        System.arraycopy(elementData, index,
                         elementData, index + 1,
                         s - index);
        elementData[index] = element;
        size = s + 1;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值