RandomAccess接口源码理解

35 篇文章 0 订阅
34 篇文章 0 订阅


前言

本文章帮助大家对RandomAccess接口的理解。


一、概述

RandomAccess意为随机访问。顾名思义,为表示列表等容器支持随机访问,建议实现此接口。

二、源码理解

package java.util;
import java.util.RandomAccess;

使用RandomAccess接口时,需引入此包。

RandomAccess接口

public interface RandomAccess{}

空接口,表示实现类支持随机访问。

注意:“随机访问”意味着访问元素耗费常量级时间。没有或无法检验实现类是否支持随机访问,非硬性要求,但强烈建议实现此接口。
它像是一个“约定俗成的标记”,可以让用户认为或清楚地认识到实现类的访问用时是常量级的,进而使应用于其上的通用算法可以针对性地进行调整,以提升效率(毕竟同样的算法对于随机访问和顺序访问的结构,效果是不一样的)。但通常这两种访问的分界是模糊的,有些列表提供渐进线性的访问时间,但实践中却是常量级的用时。所以对于以下的情况,建议实现此接口:

for (int i=0, n=list.size(); i < n; i++)
    list.get(i);

快于

for (Iterator i=list.iterator(); i.hasNext(); )
    i.next();

时。


总结

新人源码理解,望大家多多指点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值