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
点击查看代码
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 <number.length;i++){
number[i] = random.nextInt(100)+1;
}
List<Integer> list = new ArrayList<>();
for(int j=0 ;j<number.length;j++){
if (number[j]>=10) {
list.add(number[j]);
}
}
System.out.println(list);
}
}
运行结果
代码解析:
首先导入java.util.List类,java.util.ArrayList类和java.util.Random类,分别用于处理列表和生成随机数,创建一个长度为10的整数数组number用于存储随机数,使用for循环,i小于数组的长度,将随机数存入数组number.创建一个ArrayList来存储整数,使用循环将number数组中的元素逐个加到list中,使用System.out.println方法将list内容打印。
来源链接:https://www.cnblogs.com/505-jw/p/18590564
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容