首页 > 其他分享 >初始化ArrayList的方式

初始化ArrayList的方式

时间:2023-04-17 14:24:41浏览次数:34  
标签:初始化 return 方式 list ArrayList List add

本片文章用于归纳java中初始化一个ArrayList的几种方式

add方法添加

最基础的方式就是我们在new一个ArrayList之后使用add方法添加元素

 /**
     * 第一种方式,通过add方法
     * @return
     */
    public List<String> initOne(){

        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        
        return list;
    }

使用Arrays.asList()方法添加

 /**
     * 第二种方式,通过Arrays.asList方法
     * @return
     */
    public List<String> initTwo(){

        List<String> list = Arrays.asList("1", "2", "3");

        return list;
    }

java的java.util.Arrays工具类中为我们提供了一个asList方法用于让我们方便的初始化一个简易的集合对象,该方法在jdk1.2版本加入到java当中。不过要注意的是,这个方法返回的ArrayList,并不是java.util.ArrayList,而是Arrays里面独立实现的一个内部类,继承了AbstractAbstractList.完整包名为java.util.Arrays.ArrayList,该类并不支持remove以及add方法。我们在使用的时候注意这一点

使用双括号初始化

  /**
     * 第三种方式,双括号初始化
     * @return
     */
    public List<String> initThree(){
        List<String> list = new ArrayList<String>() {{
            add("1");
            add("2");
        }};
        return list;
    }

这种方式本质上是创建了一个继承了ArrayList的匿名内部类,并且在这个内部类中使用代码块对这个ArrayList进行了初始化。要注意的时候使用这种方式初始化的ArrayList,无法被序列化。

使用Stream进行初始化

    /**
     * 第四种方式使用Stream初始化
     * @return
     */
    public List<String> initFour(){
        List<String> collect = Stream.of("1", "2", "3").collect(Collectors.toList());
        return collect;
    }

这种使用的jdk1.8之后的stream流处理来生成一个List,如果你想要在生成list的时候顺便对其进行一些处理,那么推荐使用这种方式来生成,但是如果只是单纯的初始化,那么不推荐,这种方式相对于基础的初始化方式,有去做了一个流的初始工作,所以单纯的初始化时效率会低上一些。

使用Lists工具类来初始化

  /**
     * 使用Lists工具类来初始化
     * @return
     */
    public List<String> initFive(){
        ArrayList<String> strings = Lists.newArrayList("1", "2", "3");
        return strings;
    }

这个Lists时google封装的一个工具类。这种方式其实本质上还是声明一个ArrayList并用Collections将数据批量添加进去,没什么特别的。

标签:初始化,return,方式,list,ArrayList,List,add
From: https://www.cnblogs.com/wanglongjiang/p/17325690.html

相关文章

  • mysql入坑之路(12)windows 部署MySQL,tar方式手动添加服务进行程序管理
    1.“CTRL+R”打开运行窗口,输入regedit点击确定打开注册表编辑器2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services3.新建项MYSQL服务4.添加项内参数和值名称类型数据DisplayName编辑字符串值mysql-5.6ErrorControl编辑DWORD(32位)值1Imag......
  • CSS引入方式及link和@import的区别
    1.概述1.1说明在项目开发中,我们经常使用css样式使页面丰富多彩,编写过程中,CSS有四种引入方式。 2.CSS引入方式2.1 引入方式一:内联样式内联样式(行内样式):直接在HTML标签中的style属性中添加CSS<divstyle="width:200px;height:200px;background:red;"></div>内联......
  • 怎么批量修改文件名称,支持多种导入文件素材的方式
    文件太多,如何快速重命名呢?重命名之前,又该如何导入文件素材呢?今天小编给大家分享一个新的处理技巧,下面一起来试试吧。需要哪些工具?安装一个文件批量改名高手文件素材若干怎么快速操作?步骤1:打开【文件批量改名高手】,在“文件批量重命名”中,支持多种导入文件的方式步骤2:第一种是单击“......
  • 白帽子黑客教你:如何下载Windows原版操作系统?(2种方式)
    方式一:官网下载1.1百度搜索windows10官方下载,并选择第一个官方网站进入。1.2找到立即下载工具/点击下载2.3双击运行下载好的文件2.4选择接受2.5为另一台电脑创建安装介质(U盘、DVD或ISO文件)/下一步2.6下一步2.7ISO文件/下一步2.8选择下载路径并保存2.9下载完成即......
  • Python哪种方式循环最快
    众所周知,Python不是一种执行效率较高的语言。此外在任何语言中,循环都是一种非常消耗时间的操作。假如任意一种简单的单步操作耗费的时间为1个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍。while和for是Python中常用的两种实现循环的关键字,它们的运行效率实际上是......
  • rpm方式安装mysql
    检查环境查看系统是否有自带的mysql#检查已安装的mariadb>rpm-qa|grepmariadbmariadb-connector-c-3.0.6-6.ky10.aarch64mariadb-common-10.3.9-8.ky10.aarch64mariadb-10.3.9-8.ky10.aarch64#如果上面命令有结果,要逐个删除对应的rpm,否则下面安装可能会不能成......
  • 【进阶12】【自学笔记】Python单例模式实现的几种方式
    一、单例模式定义单例模式是一种常用的创建型设计模式,它保证一个类只有一个实例,并提供一个全局的访问点。二、实例展示实例1:classSingleton:_instance=Nonedef__new__(cls):ifcls._instanceisNone:cls._instance=super().__new__(......
  • MyBatis获取参数的方式
    1MyBatis获取参数值的两种方式:${}和#{}2${}的本质就是字符串拼接,#{}的本质就是占位符赋值3${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动......
  • 使用命令方式,重新命名KVM虚拟机
    使用命令方式,重新命名KVM虚拟机。  1.使用virshlist--all命令查看所有的虚拟机 2.导出原有虚拟机的配置文件在导出配置之前关闭vm。$virshshutdownpc_vm94 virshdumpxml命令将原来的虚拟机配置导出成xml文件$virshdumpxmlpc_vm94>vm94.xml 3.修......
  • Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例
    场景Java中创建线程的方式有三种1、通过继承Thread类来创建线程定义一个线程类使其继承Thread类,并重写其中的run方法,run方法内部就是线程要完成的任务,因此run方法也被称为执行体,使用start方法来启动线程。2、通过实现Runanle接口来创建线程首先定义Runnable接口,并重写Runnable接口......