栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 实例 - 基本类型int、long、double数组转化成List简便的方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 实例 - 基本类型int、long、double数组转化成List简便的方法

文章目录
  • 1. 方式一(最简单方式)
  • 2. 方法二(Java 8 新特性)
  • 3. 方式三(引入Jar包)

1. 方式一(最简单方式)
int[] ints = {1, 2, 3};
List intList = new ArrayList<>() ;
for(int i = 0; i < ints.length; ++i) {
	intList.add(ints[i]) ;
}
intList.forEach(System.out::println);

//输出结果
1
2
3
2. 方法二(Java 8 新特性)

使用 Java 8 的新特性,使用 Stream 流 进行转换;

想了解 Stream API 的使用可以看这篇文章 Stream API 、Lambda 表达式详解

示例

//1.创建int数组
int[] ints = {1, 2, 3};
//2.调用 Arrays 类的静态方法 Stream() 把 ints 数组对象转换成流,这里要注意需要使用 boxed() 方法把IntStream 流转化成 Stream 流,因为转化成 Stream 流之后才能调用 collect() 收集方法获得List
List intList = Arrays.stream(ints).boxed().collect(Collectors.toList());
//3.最后打印输出,这里使用到了 Lambda 表达式和方法引用
intList.forEach(System.out::println);

//输出结果
1
2
3

示例中调用 boxed() 方法的原因:

调用 Arrays 类的静态方法 stream ,如果传入一个int数组的话,调用的是一个重构方法,返回的是一个 IntStream 流对象,而如果想调用 collect() 收集方法获得List,就必须把 IntStream 流对象转换成 Stream 对象,所以 boxed() 方法就起到了这个转换作用。

同样 long、double数组也是这样操作:

示例

long[] longs = {1L, 2L, 3L};
double[] doubles = {1.23, 2.23, 3.23};
List longList = Arrays.stream(longs).boxed().collect(Collectors.toList()) ;
List doubleList = Arrays.stream(doubles).boxed().collect(Collectors.toList());
longList.forEach(System.out::println);
doubleList.forEach(System.out::println);

int、long、double 都属于基本类型,String 数组转成 List,就不需要使用 boxed() 方法

String 不属于基本类型,所以调用 Arrays 类的静态方法 stream 返回的就是 Stream 对象

示例

String[] strings = {"666" , "888" , "999"} ;
List stringList = Arrays.stream(strings).collect(Collectors.toList());
stringList.forEach(System.out::println);

//输出结果
666
888
999

3. 方式三(引入Jar包)
int[] ints = {1, 2, 3};
//int[]转Integer[]
Integer[] integers = ArrayUtils.toObject(ints);
//Integer[]再转List
List integerList = Arrays.asList(integers);
//输出integerList
integerList.forEach(System.out::println);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号