马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
基本
ArrayList:适用于须要频繁随机访问元素
LinkedList:适用于须要频繁进行插入和删除利用,尤其是在列表的头部或尾部进行利用
二者的用法基本划一,只是时间和空间复杂度不同
- List<Integer> arrayList = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- arrayList.add(i);
- }
- // 随机访问第 5 个元素
- int element = arrayList.get(5);
- -----------------------------------------------
- List<Integer> linkedList = new LinkedList<>();
- for (int i = 0; i < 10; i++) {
- linkedList.add(i);
- }
- // 随机访问第 5 个元素
- int element = linkedList.get(5);
复制代码- List<Integer> arrayList = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- arrayList.add(i);
- }
- // 在索引为 5 的位置插入元素 100
- arrayList.add(5, 100);
- ---------------------------------------------
- LinkedList<Integer> linkedList = new LinkedList<>();
- for (int i = 0; i < 10; i++) {
- linkedList.add(i);
- }
- // 在索引为 5 的位置插入元素 100
- linkedList.add(5, 100);
复制代码- // 修改元素
- linkedList.set(1, "grape");
- --------------------------------
- ArrayList.set(1, "grape");
复制代码
- ArrayList:ArrayList 的内存占用相对较小,重要是数组本身的内存开销。但在数组扩容时,会有额外的内存分配和元素复制利用。
- LinkedList:LinkedList 的每个节点除了存储元素本身外,还须要额外的引用(指向前一个节点和后一个节点),因此内存占用相对较大。
T[] toArray(T[] a):将列表转换为指定类型的数组。其中参数 a 是一个指定类型的数组,假如该数组的长度足够容纳列表中的所有元素,则直接利用该数组存储元素;假如长度不敷,则会创建一个新的、与列表长度类似的指定类型的数组。
- List<String> ret = new ArrayList<String>();
- String[] res = ret.toArray(new String[ret.size()]);
复制代码 LinkedLIst的特别利用
- import java.util.LinkedList;
- public class LinkedListExample {
- public static void main(String[] args) {
- // 创建 LinkedList 对象
- LinkedList<String> linkedList = new LinkedList<>();
- // 添加元素
-
-
- linkedList.addFirst("date");
- linkedList.addLast("elderberry");
- // 访问元素
- System.out.println("索引为 1 的元素: " + linkedList.get(1));
- System.out.println("第一个元素: " + linkedList.getFirst());
- System.out.println("最后一个元素: " + linkedList.getLast());
- // 修改元素
- linkedList.set(1, "grape");
- // 删除元素
- String removedElement = linkedList.remove(1);
- System.out.println("删除的元素: " + removedElement);
- // 遍历元素
- for (String item : linkedList) {
- System.out.println(item);
- }
- }
- }
复制代码 转化
数组转list,如许可以利用contains
- String[] array = {"apple", "banana", "cherry"};
- // 将数组转换为List
- List<String> list = Arrays.asList(array);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |