首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
List接口介绍和标题演练
返回列表
发新帖
List接口介绍和标题演练
[复制链接]
发表于 2024-12-6 13:00:46
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
List接口介绍、定义及特点
在Java中, List 接口是 java.util 包中的一部分,它继承自 Collection 接口。
一、定义和特点定义和特点
1. 有序集合
- List 中的元素是有序的,这意味着可以通过索引(位置)来访问元素,索引从0开始。例如,在一个 List 中添加元素的顺序是 a 、 b 、 c ,那么它们的索引分别是0( a )、1( b )、2( c )。
2. 允许重复元素
- 与 Set 接口不同, List 允许
存储
重复的元素。例如,可以在 List 中添加多个相同的字符串。
3. 动态巨细
- List 的巨细是动态的,可以根据需要增加或减少元素。
二、常用实现类
1. ArrayList
- 基于数组实现: ArrayList 内部利用数组来
存储
元素。当添加元素凌驾数组容量时,它会主动创建一个更大的新数组,并将旧数组的元素复制到新数组中。
- 随机访问快:由于基于数组, ArrayList 在随机访问(通过索引访问)元素时非常快,时间复杂度为O(1)。
- 插入和删除慢:但是在中心插入或删除元素时,需要移动后面的元素,时间复杂度为O(n),此中n是列表中的元素数量。
2. LinkedList
- 基于链表实现: LinkedList 内部利用双向链表来
存储
元素。每个节点包含元素本身以及指向前一个和后一个节点的引用。
- 插入和删除快:在 LinkedList 中插入或删除元素只需要修改节点的引用,时间复杂度为O(1)(如果是在列表两端操作)。
- 随机访问慢:但是随机访问元素时,需要从链表头或尾开始遍历,时间复杂度为O(n)。
3. Vector
- 类似于 ArrayList ,但 Vector 是线程
安全
的。不外,由于同步机制, Vector 的
性能
通常比 ArrayList 低,在单线程环境下不推荐利用。
标题
RandomTest.java
点击查看
代码
[code]import java.util.ArrayList;import java.util.List;import java.util.Random;public class Main { public static void main(String[] args) { int [] number= new int[10]; Random random = new Random(); for(int i =0 ; i
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
SQL-Server
DevOps与敏捷开发
Oracle
物联网
开源技术
云原生
张春
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表