大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
数组集合转换
一、初始化的简便方法
数组
//设置初始化值
int[] p = new int[]{
1,2,3};
int[] ins = {
1,2,3};
String [] dog = {
"Jimmy","Gougou","Doggy"};
//不设置初始化值
int[] q = new int[3];
q[0] = 5;
List集合
1、常规方法
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("PHP");
languages.add("Python");
2、Arrays 工具类
//这种方式添加的是不可变的 List, 即不能添加、删除等操作
List<String> jdks = Arrays.asList("JDK6", "JDK8", "JDK10");
如果要可变,可以使用 ArrayList 再包装一下
List<String> jdks = new ArrayList<>(Arrays.asList("JDK6", "JDK8", "JDK10"));
jdks.add("JDK14");
3、Collections 工具类
//这种方式添加的是不可变的、复制某个元素N遍的工具类
List<String> apples = Collections.nCopies(3, "apple");
System.out.println(apples);//[apple, apple, apple]
//初始化单个对象的 List 工具类,这种方式也是不可变的,集合内只能有一个元素
List<String> cat = Collections.singletonList("cat");
System.out.println(cat);
//创建空 List 的工具类,没有默认容量,节省空间
List<String> cat = Collections.emptyList();
4、匿名内部类
List<String> names = new ArrayList<>() {
{
add("Tom");
add("Sally");
add("John");
}};
System.out.println(names);
5、JDK8 Stream
//引用类型
List<String> colors = Stream.of("blue", "red", "yellow").collect(Collectors.toList());
//基本数据类型
List<Integer> num = Stream.of(1,2,3).collect(Collectors.toList());
Arrays工具类1.8方法
List<Integer> collect = Arrays.stream(new int[]{
1, 2, 3}).boxed().collect(Collectors.toList());
6、JDK 9 List.of
//不可变的 List
List<String> cups = List.of("A", "B", "C");
System.out.println(cups);
二、数组集合相互转化
1、数组转集合
元素为引用类型
//List不可变,如有需要,可以加一层new ArrayList封装
List<String> string = Arrays.asList( "hello", "world");
System.out.println(string);
元素为基本类型
List<Double> collect = Arrays.stream(new double[]{
1.0, 2.0, 3.0}).boxed().collect(Collectors.toList());
2、集合转数组
元素为引用类型
List<String> cups = List.of("A", "B", "C");
System.out.println(cups);
String[] s = cups.toArray(new String[3]);
//打印输出
Arrays.stream(s).forEach(System.out::println);
元素为基本类型
//Double
List<Double> num = List.of(1.0, 2.0, 3.0);
double[] doubles = num.stream().mapToDouble(Double::valueOf).toArray();
//Integer
List<Integer> ins = List.of(1, 2, 3);
int[] ints = ins.stream().mapToInt(Integer::valueOf).toArray();
参考:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193106.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...