Java系列之:List集合子类ArrayList和LinkedList

Java系列之:List集合子类ArrayList和LinkedList

一、List集合子类特点

List集合常用子类:ArrayList、LinkedList

  • ArrayList:底层数据结构是数组,查询快,增删慢
  • LinkedList:底层数据结构是链表,查询慢,增删快

数据库对象:

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Dataset {
    /**
     * 数据库名称
     */
    private String databaseName;

    /**
     * 数据库的描述
     */
    private String databaseComment;
}

分别使用ArrayList和LinkedList完成遍历

import com.bigdata.plus.Dataset;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class CollectionDemo {

    public static void main(String[] args) {
        Dataset dataset1 = new Dataset("dw", "中间数据库");
        Dataset dataset2 = new Dataset("optics", "光学数据库");

        List<Dataset> datasetsArrayList = new ArrayList<Dataset>();
        datasetsArrayList.add(dataset1);
        datasetsArrayList.add(dataset2);

        for(Dataset s : datasetsArrayList){
            System.out.println(s.getDatabaseName() + "," + s.getDatabaseComment());
        }

        LinkedList<Dataset> datasetsLinkList = new LinkedList<Dataset>();
        datasetsLinkList.add(dataset1);
        datasetsLinkList.add(dataset2);

        for(Dataset s : datasetsLinkList){
            System.out.println(s.getDatabaseName() + "," + s.getDatabaseComment());
        }
    }
}

二、LinkedList集合的特有功能

方法名说明
public void addFirst(E e)在该列表开头插入指定的元素
public void addLast(E e)将指定的元素追加到此列表的末尾
public E getFirst()返回列表中的第一个元素
public E getLast()返回列表中的最后一个元素
public E removeFirst()从此列表中删除并返回第一个元素
public E removeLast()从此列表中删除并返回最后一个元素
import java.util.LinkedList;

public class CollectionDemo {

    public static void main(String[] args) {

        LinkedList<String> linkList = new LinkedList<String>();
        linkList.add("hello");

        linkList.addFirst("开始");
        linkList.addLast("末尾");

        System.out.println(linkList.getFirst()); //开始
        
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ArrayListLinkedList是两种常见的集合类。ArrayList一个基于动态数组实现的,可以动态增长和缩小的数组。而LinkedList一个基于双向链表实现的集合ArrayList的继承关系是继承自AbstractList类,并同时实现了List、RandomAccess、Cloneable和Serializable接口。AbstractList类提供了一些通用的方法实现,而List接口定义了集合的基本操作。RandomAccess接口表示该集合支持快速随机访问,Cloneable接口表示该集合可以进行克隆操作,Serializable接口表示该集合可以进行序列化操作。 LinkedList的继承关系是继承自AbstractSequentialList类,并同时实现了List、Deque、Cloneable和Serializable接口。AbstractSequentialList类是AbstractList类的子类,它实现了一些基本的列表操作。Deque接口表示该集合支持在集合的两端进行元素的插入和删除操作。Cloneable接口表示该集合可以进行克隆操作,Serializable接口表示该集合可以进行序列化操作。 从字面意思上解释,ArrayList表示数组集合,因为它的底层使用了数组来存储元素;而LinkedList表示链表集合,因为它的底层使用了双向链表来存储元素。 总结起来,ArrayListLinkedList都是集合类,它们在底层数据结构和实现方式上有所不同。ArrayList适合需要频繁随机访问元素的场景,而LinkedList适合需要频繁插入、删除元素的场景。选择使用哪种集合类,可以根据具体的需求和性能要求来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ArrayListLinkedList区别](https://blog.csdn.net/weixin_38289612/article/details/119616441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值