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)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • keil5如何生成bin文件_keil4生成bin文件

    keil5如何生成bin文件_keil4生成bin文件 在RealviewMDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥RealviewMDK集成开发环境的优势,将*.axf格式文件或*.he…

    2022年10月20日
    0
  • Java算法——判断素数[通俗易懂]

    Java算法——判断素数[通俗易懂]Java算法——判断素数,供自己学习方便和初学者参考! publicstaticbooleanisPrimeNumber(intnumber){if(number<2){returnfalse;}for(i

    2022年7月18日
    13
  • kali制作安卓免杀木马_kali工具绑捆

    kali制作安卓免杀木马_kali工具绑捆Shellter是一款动态shellcode注入工具,我们可以将shellcode注入到其它程序上,从而来躲避杀毒软件的查杀。俗称为免杀官网:https://www.shellterproject.com/目前最新版本是7.2,主程序是.exe文件所以在windows下可以直接使用,在linux上运行的话就需要安装wine环境来运行。我使用的KaliLinux版本是kali-linu…

    2022年8月20日
    6
  • tensorflow2.0手写数字识别_tensorflow手写汉字识别

    tensorflow2.0手写数字识别_tensorflow手写汉字识别手写识别的应用场景有很多,智能手机、掌上电脑的信息工具的普及,手写文字输入,机器识别感应输出;还可以用来识别银行支票,如果准确率不够高,可能会引起严重的后果。当然,手写识别也是机器学习领域的一个HelloWorld任务,感觉每一个初识神经网络的人,搭建的第一个项目十之八九都是它。我们来尝试搭建下手写识别中最基础的手写数字识别,与手写识别的不同是数字识别只需要识别0-9的数字,样本数据集也只需…

    2022年9月14日
    0
  • Wifi开坑

    Wifi开坑缘起:读书期间,大量接触通信基础,无线快速发展,目光关注点自然是高高的基站塔,以及小小的手机(这个信息社会浓缩操作系统、通信、开源和智能化(智能掌机)的结晶当然也不简单)。至于短距离通信里面的形形色色,眼花缭乱的Wifi、BLE(蓝牙)、Zigbee、体域网则是感知中盲区,异类。一直到博士后期到职业才隐隐感知到,天下大事必出于细的道理。云动:就如“小小”体域网(Bodyareanetwork)中除了通用的天线设计、收发、同步、多通道处理外还有特别关注的鲁棒性设计,如何高可靠无中断地始终获取无线信

    2022年7月21日
    9
  • bat命令详解_bat结束进程命令

    bat命令详解_bat结束进程命令批处理文件中可引用的参数为%0~%9,%0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现! Shift命令:更改批处理文件中可替换参数的位置 C代码    shift[/n]   n的取值是[0,8],且为整数;[/n]为可选参数,当赋予n

    2022年9月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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