论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
List接口介绍和标题演练
List接口介绍和标题演练
张春
金牌会员
|
2024-12-6 13:00:46
|
显示全部楼层
|
阅读模式
楼主
主题
894
|
帖子
894
|
积分
2682
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
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
张春
金牌会员
这个人很懒什么都没写!
楼主热帖
聊聊容灾演练-练什么|深度好文 ...
Redis概述及基本数据结构
彻底搞懂Docker容器与Kraft模式kafka集 ...
Eclipse连接SQLServer2008
【CSDN官方】开源又好用的国产SPL ...
2022十三届蓝桥杯国赛题解
干货|APP自动化Android特殊控件Toast识 ...
Velero系列文章(四):使用Velero进行 ...
4. 事务和锁
恭喜你~遇到了最有趣的算法(三)数论 ...
标签云
挺好的
服务器
浏览过的版块
虚拟化与私有云
快速回复
返回顶部
返回列表