首页 > 编程语言 >Java创建List的4种方法

Java创建List的4种方法

时间:2024-06-24 13:42:16浏览次数:28  
标签:Java list List 构造 add 创建 动态 方法

1、通过构造方法,例如:List<String> list = new ArrayList<>();

然后调用list.add增加元素,如果知道初始化的值,这种先构造再一项项添加的方式,用起来并不爽,于是一边都用下面的方法

2、通过Arrays.asList("a", "b");

但是这种方法构造出的List是固定长度的,如果调用add方法增加新的元素,会报异常:java.lang.UnsupportedOperationException,其实也可以理解,这个List是由Array转换而来,而Array是不能动态增加长度的,适合于构造静态不变List,

3、通过Java8引入的Stream提供的方法:List list = Stream.of("a", "b").collect(Collectors.toList());

这种方式跟第二种类似,但是list可以动态添加元素,比较友好,适合于构造动态List

4、通过guava提供的方法,List list3 = Lists.newArrayList("f", "g");

适合于构造动态List,虽然只是个语法题,但是易用性确实好很多,可以用一个简单语句代替之前用很多语句才能实现的功能,方便表达出程序员的想法。Guava里的很多方法都非常方便,相信基本都是来自于实践中的痛点,对JDK里的方法是个很好的补充。

标签:Java,list,List,构造,add,创建,动态,方法
From: https://www.cnblogs.com/yyhhblog/p/18264880

相关文章

  • 520.力扣每日一题6/23 Java
    博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞......
  • 2748.力扣每日一题6/20 Java
    题目:给你一个下标从0开始的整数数组nums。如果下标对i、j满足0≤i<j<nums.length,如果nums[i]的第一个数字和nums[j]的最后一个数字互质,则认为nums[i]和nums[j]是一组美丽下标对。返回nums中美丽下标对的总数目。对于两个整数x和y,如果......
  • Javascript高级程序设计(第四版)--学习记录之基本引用类型
    DateDate类型将日期保存为自协调世界时间1970年1月1日午夜至今所经过的毫秒数。创建日期对象letnow=newDate()Date.parse()方法接收一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数。lettime=newDate(Date.parse("May24,2024"));Date.now()......
  • 【JavaScript脚本宇宙】浏览器中的文件系统:深入了解最受欢迎的JavaScript库
    超越传统存储:探索创新的浏览器文件系统解决方案前言在现代的网页开发中,文件系统和文件操作是不可或缺的一部分。无论是上传图片、下载文档还是在浏览器中保存离线数据,我们都需要与文件系统进行交互。为了简化这些任务并提供更好的用户体验,有许多JavaScript库被开发出来,以......
  • Java实现管线拓扑关系连通性分析
    管线拓扑关系的连通性分析通常涉及图论(GraphTheory)中的概念,特别是无向图(UndirectedGraph)的遍历算法,如深度优先搜索(DFS,Depth-FirstSearch)或广度优先搜索(BFS,Breadth-FirstSearch)。在管线拓扑中,管线可以被视为图的边(Edge),而管线的连接点可以被视为图的节点(Vertex)。连通性分析......
  • Java Script-使用DOM编程实现移动坦克
    要求:实现:将坦克图片放在页面上:<imgid="mytank"src="./img/right.png"/>在css中设置坦克的初始位置以及页面背景:<styletype="text/css">    input{font-size:26px;margin-top:20px;}    body{background-image:url("./img/gra......
  • 七、若依--P17--P18【黑马程序员Java最新AI+若依框架项目开发新方案视频教程,基于RuoYi
    学习视频【黑马程序员Java最新AI+若依框架项目开发新方案视频教程,基于RuoYi-Vue3前后端分离版本,从前端到后端再到AI智能化应用全通关】https://www.bilibili.com/video/BV1pf421B71v/?p=6&share_source=copy_web&vd_source=3949d51b57b2891ea14d6e51c792bef6二次开发P17:新......
  • JavaScript第十二讲:DOM编程“创建,删除,替换,插入节点”
    目录1.创建节点2.删除节点3.替换节点4.插入节点使用appendChild()使用insertBefore()深入解析与注意事项1.创建节点在HTMLDOM中,我们通常使用JavaScript的document.createElement()方法来创建元素节点,使用document.createTextNode()方法来创建文本节点。示例......
  • STM32CubeMX 创建 MDK 工程
    STM32CubeMX创建MDK工程MDK(KeiluVision)MDK(KeiluVision)是Arm公司开发的一款集成开发环境(IDE),专门用于Arm架构的嵌入式系统开发。它提供了全面的功能,包括:代码编辑器,支持语法高亮、代码补全和错误检测调试器,支持单步执行、断点和变量监视汇编器和链接器,......
  • SSM-学情分析系统-56772(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP
    学情分析系统摘 要随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于学情分析系统当然也不能排除在外,随着网络技术的不断成熟,带动了学情分析系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这......