文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中,常用的List的五种声明并赋值操作

2023-09-25 09:25

关注

目录

方式1、新手方式

方式2、使用Stream流方式

方式3、使用工具类为创建的List对象赋值,

方式4、创建静态集合

方式5、创建不可变集合        (要求JDK1.9 --- Java9版本及以上)


方式1、新手方式

该方式声明的List:元素支持:添加、修改、删除

        该方式虽然简单、直观,但并不优雅。

  List list = new ArrayList<>();  ​  list.add("张三");  ​  list.add("李四");  ​  list.add("王五");  ​  list.add("赵六");  

 使用方式

 语法最基本的声明,add() 方法添加。
 

方式2、使用Stream流方式

该方式声明的List:元素支持:添加、修改、删除

​  List userList = Stream.of(user1, user2, user3).collect(Collectors.toList());    userList.forEach(System.out::println);//输出

使用方式:


Stream.of                                                                    数组转换为流的常用方式之一
(user1, user2, user3)                                                  可变参数、数组,可以是:对象、字符串等
.collect(Collectors.toList());                                         流的收集操作
1、将可变参数(或数组)转换为流,
2、使用流的规约操作(终端操作):收集.collect(),
3、收集方式:Collectors.toList(),收集为List(看懂这句,需了解Stream流的实现过程)

解析

Stream.of()是创建 流 的一种方式,他可以传入多个参数创建一个Stream的对象,没有中间操作,终端操作:收集,收集器转换为List集合

方式3、使用工具类为创建的List对象赋值,

该方式声明的List:元素支持:添加、修改、删除

  List list = new ArrayList<>();//List规定为String类型,所以可变参数也要是String哦  ​  Collections.addAll(list,"张三丰","张无忌","周芷若","赵敏","张强");、  list.forEach(System.out::println);


使用方式

指定需要添加的集合,然后通过在addAll()中传入一个 “可变参数” ,可变参数也就是类型一样,但个数不限的参数,可变参数有数组的性质,故传入一个 数组 对象也可以(多个数组对象就不满足可变参数的定义了哦~)。

方式4、创建静态集合

(该集合疑似和数组绑定),由于数组长度固定,该集合不可添加和删除元素,添加、删除就会报错,但支持修改。

      @Test      public void test() throws Exception{          List numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);  //        int[] arr = new int[]{1,2,3};  //        IntStream.of(arr).forEach(System.out::print);  //        System.out.println();  //        Integer[] arr1 = new Integer[]{1,2,3};  //        Stream.of(arr1).forEach(System.out::println);  //        Stream.of(arr).forEach(System.out::println);  ​  //        numbers.add(10);//运行报错java.lang.UnsupportedOperationException  //        numbers.remove(0);//运行报错java.lang.UnsupportedOperationException          numbers.set(0,5);//可以修改          numbers.stream().forEach(System.out::println);  //        numbers.stream().sorted().forEach(System.out::println);  //        numbers.parallelStream().forEach(System.out::println);      }


解析:本质是将一个数组转成List数组的大小是固定的,所以此List不能 添加 和 删除 元素,但支持 修改 元素。

如果调用add()方法 添加 新的元素,会报异常:java.lang.UnsupportedOperationException

删除 同理。

支持 修改 。虽然不能 添加 或者 删除 但支持 修改 其中的元素。

方式5、创建不可变集合        (要求JDK1.9 --- Java9版本及以上)

该方式声明的List:元素不可以 添加、修改、删除

//只支持java9及以上版本List list = List.of(1,2,3,4,5);//支持Set和MapSet set = Set.of(1,2,3,4,5);Map map = Map.of(k,v,k,v,k,v,k,v,);

来源地址:https://blog.csdn.net/Letol/article/details/127485553

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯