(各种数组之间的互相转换)int 数组与List互相转换,object数组转换int数组
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]);
(各种数组之间的互相转换)int 数组与List互相转换,object数组转换int数组的更多相关文章
- C# 16进制与字符串、字节数组之间的转换(转)
1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToSt ...
- Java 集合 集合与数组之间的转换
Java 集合 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 ...
- 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换
在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...
- C# 16进制与字符串、字节数组之间的转换 (转载)
1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine(, )); //十进制转八进制 Console.WriteLine(, )); / ...
- C#串口通讯,16进制与字符串、字节数组之间的转换。
1.将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, ...
- c#不同数组之间的转换【转载,消化自动删除】
c#中从string数组转换到int数组 string[] input = { "1", "2", "3", "4", ...
- C# 16进制与字符串、字节数组之间的转换
1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串//十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToStrin ...
- java中 列表,集合,数组之间的转换
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...
- List集合与Array数组之间的互相转换
1.数组转换成List集合 采用java中集合自带的asList()方法就可以完成转换了 String[] array = new String[] {"zhu", "w ...
- C# 16进制与字符串、字节数组之间的转换(串口通讯中)
1.c#中如何将十进制数的字符串转化成十六进制数的字符串//十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString( ...
随机推荐
- Pydantic模型继承解析:从字段继承到多态模型
title: Pydantic模型继承解析:从字段继承到多态模型 date: 2025/3/19 updated: 2025/3/19 author: cmdragon excerpt: 涵盖字段继承 ...
- pandas(进阶操作)-- 政治献金项目数据分析
博客地址:https://www.cnblogs.com/zylyehuo/ 开发环境 anaconda 集成环境:集成好了数据分析和机器学习中所需要的全部环境 安装目录不可以有中文和特殊符号 jup ...
- 【Linux】5.9 Shell函数
Shell 函数 1. 自定义函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] ...
- 【SpringMVC】数据转换 & 数据格式化
数据转换 & 数据格式化 & 数据校验 数据转换 数据绑定流程 Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinder ...
- 【C语言】格式符
对于很多人来说,用格式符都是熟能生巧,而不清楚为什么是那样的格式符,所以我在这列了一个表,翻译了其对应的英文. 进制名称 英文 缩写 二进制 Binary B 八进制 Octal O 十进制 Deci ...
- SQL Server 5105 和 1802 错误的触发方式和解决方式之一
一般导致这两个错误的原因是:文件路径错误 还有的说,可能是文件权限问题,详情见权限错误纠正方式 错误代码 create database teaching on primary ( name = te ...
- 【DXP】如何在原理图中批量修改
零.问题 想要修改所有电阻的封装,怎么解决? 一.解决 以修改所有电阻封装为例,可举一反三. 在电阻上右键,选择"查找相似对象". 注意在右键的时候鼠标应该是放在元器件图标上的,而 ...
- Quart.NET - 教程 11: 高级 (企业级) 特性
译者注: 目录在这 Quartz.NET 3.x 教程 原文在这 Lesson 11: Advanced (Enterprise) Features 集群 集群目前仅适用于 AdoJobStore ( ...
- Chrome谷歌浏览器常用快捷键、开发技巧
谷歌浏览器作为常用的开发工具,熟悉常用的快捷键,不仅方便快捷,也能间接提高不少工作效率.以下是谷歌浏览器常用快捷键和开发技巧. 标签页和窗口快捷键 1. Ctrl + n 打开新窗口 2. Ctrl ...
- Java+Appium+Junit实现app自动化demo
1.新建maven工程和引入库 步骤参考https://www.cnblogs.com/wanyuan/p/16408758.html 2.编写代码 代码如下: import org.junit.Af ...