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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表