zoukankan      html  css  js  c++  java
  • Java的Collection,List,ArrayList,LinkedList

    先来看看Collection,List,ArrayList,LinkedList它们之间的关系

    Collection/Iterable/List都是接口。

    List是有序的可重复的,这一点可以从官方文档中得出。

    List是一种有序的集合
    An ordered collection (also known as a sequence)
    与sets不同,list的元素可以重复
    Unlike sets, lists typically allow duplicate elements.

    创建一个list对象并给这个list添加元素。

    因为List是接口,所以要用实现这个List接口的类ArrayList来创建对象。

      @Test
        public void listTest() {
            List<String> list=new ArrayList<>();
            list.add("Welcome");
            list.add("to");
            list.add("java");
            System.out.println(list);
    
        }
    }

    结果:注意,虽然直接把list变量名称写进了System.out.println(list),但实际输出的却是我们通过add方法创建的List。

    而不是list的引用地址,由此可见list默认调用了toString方法.

    [Welcome, to, java]

    ArrayList

    ArrayList底层是用数组来实现存储的,特点:查询效率高,增删效率低,线程不安全。

    与之对应的LinkedList:查询效率低,增删效率高,线程不安全。

    为什么ArrayList的增加删除效率低呢?因为它的底层是通过copy数组的方式来达到增加删除的。

    比如,ArrayList要删除下面数组中的3,它会把4移到3,5移到4.

    [1,2,3,4,5]
  • 相关阅读:
    mysq foreign外键记录
    查询时隐藏部分身份证号
    SpringBoot接收前端参数
    RabbbitMQ安装
    @configurationProperties注解时 idea弹出 Spring Boot Annotion processor not found in classpath
    rpm,yum和apt使用详解
    python人脸识别
    Fuchsia文章汇总
    Androi O Automotive 介绍
    Linux 版本控制工具之rabbitvcs
  • 原文地址:https://www.cnblogs.com/majestyking/p/12402411.html
Copyright © 2011-2022 走看看