Java List与数组互转方式

 更新时间:2023年07月25日 10:08:07   作者:sayyy  
这篇文章主要介绍了Java List与数组互转方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Java List与数组互转

数组转 List 方法1

Employee[] array = new Employee[]{emp1, emp2, emp3};
List<Employee> list = Arrays.asList(array);

Arrays.asList 返回的是固定长度的数组,扩大或缩小列表的操作将返回UnsupportedOperationException。

数组转 List 方法2

Employee[] array = new Employee[]{emp1, emp2, emp3};
List<Employee> list = new ArrayList<>(Arrays.asList(array));

解决了方法1中固定长度的问题。

数组转 List 方法3

Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9};
List<Integer> list = new ArrayList<>();
Collections.addAll(list, num);

数组转 List 方法4

Employee[] array = new Employee[]{emp1, emp2, emp3};
List<Employee> list = Stream.of(array).collect(Collectors.toList());

List 转数组方法1

Object[]  ans1 = list.toArray();

List 转数组方法2

Integer[] ans2 = list.toArray(new Integer[list.size()]);

ArrayList 的 toArray 方法源码:

Java中数组与List的区别

① 数组声明的时候要指定数组的大小,用基本类型。

② List接口是一个有序的 Collection,没有固定大小的限制。

其声明时用基本类型需要用其引用类型(List<E> list = new ArrayList<>(); 这里的E指的是引用类型),注意声明时不要List<E> list = null;,后面给list加元素会报错(add方法报空指针)。

① 数组向某下标插入元素是修改当前下标的元素。

② List向某下标插入元素是插入到指定下标,此下标原来的元素和后面的元素均后移。

List删除元素,删除当前下标的元素,后面的前移。

List的方法:

Arrays类的方法:

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

常用的方法有:toString转字符串、sort从小到大排序、equals和deepEquals、asList转List和List的toArray转数组、fill数组填充和copyOf数组拷贝。

① 自定义排序方式:

Integer[] n = {1,2,5,4,1};
Arrays.sort(n, ((o1, o2) -> o2-o1)); //数组降序排列

使用这种方式,数组类型需要为引用类型不能为基本类型

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法

    Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法

    本文介绍了Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法,通过本文的介绍,我们希望读者能够更好地理解Spring Boot中RabbitMQ的使用方法,并在项目中更加灵活地应用,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • MybatisPlus EntityWrapper如何自定义SQL

    MybatisPlus EntityWrapper如何自定义SQL

    这篇文章主要介绍了MybatisPlus EntityWrapper如何自定义SQL,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java调用第三方接口封装实现

    Java调用第三方接口封装实现

    本文主要介绍了Java调用第三方接口封装实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Spring中的NamespaceHandler与BeanDefinitionParser详解

    Spring中的NamespaceHandler与BeanDefinitionParser详解

    这篇文章主要介绍了Spring中的NamespaceHandler与BeanDefinitionParser详解,由Spring启动过程之obtainFreshBeanFactory() ,可以看到NamespaceHandler、BeanDefinitionParser为解析配置文件中的Element起重要作用,那么它本身是如何被加载的呢,需要的朋友可以参考下
    2023-12-12
  • 如何在Java中获取当前年份(实例代码)

    如何在Java中获取当前年份(实例代码)

    在Java语言中获取当前年份有几种方法:使用java.util包下的Calendar类,使用java.time包下的LocalDate类或者使用java.text包下的SimpleDateFormat类,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • Spring搭配Ehcache实例解析

    Spring搭配Ehcache实例解析

    这篇文章主要为大家详细介绍了Spring搭配Ehcache实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Java获得指定区间数的方法

    Java获得指定区间数的方法

    这篇文章主要介绍了Java获得指定区间数的方法,涉及java数值运算的相关技巧,需要的朋友可以参考下
    2015-05-05
  • java的jdk基础知识点总结

    java的jdk基础知识点总结

    在本篇文章里小编给大家整理的是一篇关于java的jdk基础知识点总结内容,有兴趣的朋友们可以学习参考下。
    2021-01-01
  • MyBatis 防止 SQL 注入的正确用法

    MyBatis 防止 SQL 注入的正确用法

    文章主要讲述了MyBatis防止SQL注入的方法,强调了使用#{param}进行参数绑定,避免使用${param}拼接SQL,对于必须使用的${}需做白名单或使用<choose>枚举替代,并提出了编码规范、代码评审、审计与测试等多层防护建议,感兴趣的朋友一起看看吧
    2026-03-03
  • java仿Servlet生成验证码实例详解

    java仿Servlet生成验证码实例详解

    这篇文章主要介绍了java仿Servlet生成验证码实例详解的相关资料,需要的朋友可以参考下
    2017-04-04

最新评论