java数组和集合转换_集合怎么转化为数组

java数组和集合转换_集合怎么转化为数组数组集合转换一、初始化的简便方法数组//设置初始化值int[]p=newint[]{1,2,3};int[]ins={1,2,3};String[]dog={“Jimmy”,”Gougou”,”Doggy”};//不设置初始化值int[]q=newint[3];q[0]=5;List集合1、常规方法List<String>languages=newArrayList<>();languages.add(“Java”

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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();

参考:

何其小静 – 博客园 (cnblogs.com)

会偷袭的猫 – 博客园 (cnblogs.com)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193106.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 什么是窗口句柄

    什么是窗口句柄什么是窗口句柄举个例子:你有你自己的身份证号,一报身份证号,你应该知道是你了你也有名字,当然名字复杂点,并且不是唯一,没有数字来得方便,所以,窗口句柄就相当于身份证号,每个窗口都有一个编号

  • centos7 top命令_linux tee命令

    centos7 top命令_linux tee命令top命令Linuxtop命令用于实时显示process的动态。top参数详解第一行,任务队列信息**系统当前时间:**13:52:56**系统开机后到现在的总运行时间:**up66

  • 你真的了解python中的换行以及转义吗?「建议收藏」

    你真的了解python中的换行以及转义吗?「建议收藏」python中的分号在python中默认是以换行来标志一行语句的结束。a="xxxx"print(a)#xxxx这段代码很简单,因为a="xxxx&q

  • char* 和char[]的差别

    char* 和char[]的差别

  • robotium有源码

    robotium有源码Robotium环境搭建及有源码测试用例编写:http://blog.sina.com.cn/s/blog_68f262210102v6yf.htmlAndroid自动化测试之Robotium学习:http://www.2cto.com/kf/201209/157011.htmlRobotium:http://www.2cto.com/kf/201304/205363.ht

  • 十大经典武侠小说[通俗易懂]

    孤枕侧畔,一灯如豆,看尽万千红尘旧事刀枪入梦,剑气漫天,重温多少江湖恩仇    一说起武侠小说,每个像我这么大的男性或是比我小一些的男性都会眉飞色舞的侃上半天,仿佛每个人都是此中高手,但是武侠小说浩如烟海,能称得上作家的也多如牛毛,故高手或是低手之分并不在于看得多少,而在于精的程度。我之所以谈起这些来就不由得总是有些洋洋自得,便是因为我觉得自己看武侠小说既精又多,称得上此中高手,所

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号