首页 > 其他分享 >(各种数组之间的互相转换)int 数组与List互相转换,object数组转换int数组

(各种数组之间的互相转换)int 数组与List互相转换,object数组转换int数组

时间:2022-12-02 21:01:22浏览次数:49  
标签:toArray 转换 stream int List Arrays 数组 Integer

Stream流之List、Integer[]、int[]相互转化

一、int[ ]

1.1、int[ ] 转 Integer[ ]

public static void main(String[] args) {
		int[] arr = { 1, 2, 3, 4, 5 };
		List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());
		list.forEach(e -> System.out.print(e + " "));
	}

Arrays.stream(arr) 将int数组转化为IntStream
bosed() 将每一个整数进行装箱,把IntStream 转换成了 Stream< Integer >
collect(Collectors.toList()) 将对象流收集为集合,转化为 List< Integer >

1.2、int[ ] 转 List< Integer >

Integer[] integers = Arrays.stream(arr).boxed().toArray(Integer[]::new);

Arrays.stream(arr) 还是转化为流
boxed() 装箱,将基本类型流转换为对象流
toArray(Integer[ ]::new) 将对象流转换为对象数组

二、Integer[ ]

2.1、Integer[ ]转 int[ ]

 	int[] arr= Arrays.stream(integers).mapToInt(Integer::valueOf).toArray();

mapToInt(Integer::valueOf) 将对象流转化为基本类型流
toArray() 转化为int数组*

2.2、Integer[ ]转 List< Integer >

	Integer[] integers = {1,2,3,4,5};
	List<Integer> list = Arrays.asList(integers); 

三、List< Integer >

3.1、List< Integer > 转 Integer[ ]

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

3.2、List< Integer > 转 int[ ]

int[] arr2 = list.stream().mapToInt(Integer::valueOf).toArray();

// int[] 转 List

int[] data = {4, 5, 3, 6, 2, 5, 1};

List list1 = Arrays.stream(data).boxed().collect(Collectors.toList());

// Arrays.stream(arr) 可以替换成IntStream.of(arr)。

// 1.使用Arrays.stream将int[]转换成IntStream。

// 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream

// 3.使用Stream的collect(),将Stream转换成List,因此正是List

// int[] 转 Integer[]

Integer[] integers1 = Arrays.stream(data).boxed().toArray(Integer[]::new);

// 前两步同上,此时是Stream。 // 然后使用Stream的toArray,传入IntFunction<A[]> generator。 // 这样就可以返回Integer数组。 // 不然默认是Object[]。

// List 转 Integer[]

Integer[] integers2 = list1.toArray(new Integer[0]);
// 调用toArray。传入参数T[] a。这种用法是目前推荐的。 // List转String[]也同理。

// List 转 int[]

int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray();
// 想要转换成int[]类型,就得先转成IntStream。
// 这里就通过mapToInt()把Stream调用Integer::valueOf来转成IntStream
// 而IntStream中默认toArray()转成int[]。

// Integer[] 转 int[]

int[] arr2 = Arrays.stream(integers1).mapToInt(Integer::valueOf).toArray();
// 思路同上。先将Integer[]转成Stream,再转成IntStream。

// Integer[] 转 List

List list2 = Arrays.asList(integers1);
// 最简单的方式。String[]转List也同理。

// String[] 转 List

// 同理 String[] strings1 = {"a", "b", "c"};
List list3 = Arrays.asList(strings1);

// List 转 String[]

String[] strings2 = list3.toArray(new String[0]);

标签:toArray,转换,stream,int,List,Arrays,数组,Integer
From: https://www.cnblogs.com/maomao777/p/16945593.html

相关文章

  • Caused by: java.lang.NullPointerException at org.springframework.beans.factor
    在搭建完Spring环境之后运行第一个demo的时候就碰到这个问题,折腾了一天了,到现在才解决,记录一下自己的失误。解决办法就是在添加userLibrary的时候不能勾选SystemLibra......
  • ansible彩色输出转换为html格式
    实现目标:将在后台运行(非tty终端环境)的ansible输出结果作为日志转换为html在浏览器显示:技术背景:我司使用的运维平台,使用flask框架搭建。对各个操控主机使用ansible进行操作,......
  • 3 数组
    HeadFirstJava和AcWingJava课程做的总结3。数组就是方便我们定义一大堆变量的工具。java中数组长度可以是变量,而c++中最好是常量,如int[]f=newint[n+1];3.1一......
  • sprint boot 接收 Form 表单数据
    这篇文章主要介绍了Springboot接收 Form 表单数据的实例代码,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以......
  • MXD文件版本批量转换
    ArcGIS不同版本的mxd文件不兼容,例如我这里本地使用的是10.1的版本,无法打开10.5版本创建的mxd文件。如果是较少的mxd文件,可以通过在10.5版本的arcgis中打开,选择FILE—SAVEA......
  • 类型转换
    类型转换由于Java是强类型语言,所以进行某些运算的时候,需要用到类型转换。低--------------------------------->高byte,short,char->int->long->float->double//小......
  • 【Springboot】Json转换工具
    HttpClient请求数据后是json字符串,需要我们自己把Json字符串反序列化为对象,我们会使用JacksonJson工具来实现。JacksonJson是SpringMVC内置的json处理工具,其中有一个Objec......
  • 【问题】Unknown return value type: java.lang.Integer springboot插入数据 报错
    很诡异的事情发生了。。。。。。。在使用springboot搭建一个springboot整合mybatis的demo时,测试插入数据的方法,数据成功插入数据库了,但是控制台却报了这个错,提示为止返回类......
  • 【算法】用面向对象的方法求出数组中重复 value的个数,按如下个数输出:
    1出现:1次3出现:2次8出现:3次2出现:4次int[]arr={1,4,1,4,2,5,4,5,8,7,8,77,88,5,4,9,6,2,4,1,5};今天看一个关于基础资料的文档,里面有这么一道算法题。刚开始看了一下,只......
  • C中指向二维数组的指针
    形参中在程序中定义一个指向二位数组的指针的时候,只能用第二种,换句话说,第一种形式只能用在形参中。......