List--ArraayList&&LinkedList(嵌套类和内部类)

本文探讨了Java中List的两种主要实现:ArrayList与LinkedList的特点及应用场景。对比了它们在操作如添加、获取、设置和删除元素时的不同表现。此外,还讨论了如何通过手写方式实现这两种数据结构,并介绍了嵌套类与内部类的概念及其使用。

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

List的主要方法:add、get、set、remove

ArrayList的优点在于,对get和set的调用花费常数时间。其缺点是新项的插入和现有项的删除代价昂贵。

LinkedList的优点在于,新项的插入和现有项的删除均开销很小。其缺点是不容易作索引,因此对get的调用是昂贵的。


手写ArrayList和LinkedList的实现。(包含clear、size、get、set、ensureCapacity、remove、iterator)

嵌套类:public static class。该类被放入另一个类,即外部类。该嵌套类被认为是外部类的一部分,所以不存在产生不可见问题。嵌套类的问题在于(eg.当编写items而不引用其所在的MyArrayList的时候,代码看起来还可以,也似乎有意义,但却是无效的,因为编译器不可以计算出哪个MyArrayList在被引用)。

内部类:public class。当声明一个内部类时,编译器则添加外部类对象的一个隐式引用,该对象引起内部类对象的构造。如果外部类的名字是Outer,则隐式引用就是Outer.this。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值