Java之List常见用法

Java之List常见用法

基础

java 复制代码
    @Test
    public void testList() {
//        1.增 add(Object obj)
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
//        2.删 remove(int index) 注:括号里面是索引(想要删除某个特定数据,就得传对象数据进去,像int等基本数据类型的需要转一下包装类型)
        list.remove(1);
//        3.改 set(int index, int value)
        list.set(0, 0);
//        4.查 get(int index)
        System.out.println(list.get(0)); // 0
//        5.插 add(int index, int value)
        list.add(1, 4); // 1, 4, 2, 3
//        6.长度
        System.out.println(list.size()); // 4
//        7.遍历 常用for循环,当然也可以用迭代器等
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

ArrayList:List的主要实现类,线程不安全,效率高,底层使用Object[]数组实现,每次扩一定长度

  • 在添加\查找数据时效率高,插入和删除数据效率底

Vector:List的实现类之一,线程安全但是效率低,底层同样使用Object[]数组实现,

LinkedList:底层使用双向链表方式存储(数据结构课学的),频繁的对数据进行插入\删除操作时使用

  • 在添加\查找数据时效率比ArrayList要低,插入和删除数据效率高
相关推荐
杨充2 分钟前
13.观察者模式设计思想
java·redis·观察者模式
Lizhihao_4 分钟前
JAVA-队列
java·开发语言
喵叔哟13 分钟前
重构代码之移动字段
java·数据库·重构
喵叔哟13 分钟前
重构代码之取消临时字段
java·前端·重构
fa_lsyk16 分钟前
maven环境搭建
java·maven
远望清一色22 分钟前
基于MATLAB边缘检测博文
开发语言·算法·matlab
何曾参静谧30 分钟前
「Py」Python基础篇 之 Python都可以做哪些自动化?
开发语言·python·自动化
Prejudices34 分钟前
C++如何调用Python脚本
开发语言·c++·python
Daniel 大东35 分钟前
idea 解决缓存损坏问题
java·缓存·intellij-idea
wind瑞41 分钟前
IntelliJ IDEA插件开发-代码补全插件入门开发
java·ide·intellij-idea