java数组和集合转换_集合怎么转化为数组
2023-06-13 09:13:26 时间
数组集合转换
一、初始化的简便方法
数组
//设置初始化值
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();
参考:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193106.html原文链接:https://javaforall.cn
相关文章
- MC——Java版安装
- JAVA三元运算符_java中三元运算符详解
- java强制删文件夹_Java 删除文件夹 和 文件 集合
- Contest1620 – 2020-2021-2学期《Java Web 系统开发》:java基础:字符串
- java出现中文乱码_JAVA中文显示乱码问题「建议收藏」
- 什么是java虚拟机(Java Virtual Machine)?
- java代码编写九九乘法表
- 用java实现笛卡尔积_Java实现笛卡尔积
- 物业管理系统源码java_Java小区物业管理系统 源码报告下载
- Java转换流_java中的字符使用什么编码
- java中method方法_java修改字体大小
- uint32 java_关于Java的int和C的uint32之间的转换
- Java 如何将 List 转换为 MAP
- JAVA实验室设备管理系统代码_java做一个简单学生管理系统
- Java数组循环_java遍历object数组
- java 字符串和整型的相互转换_java字符串转整型数组
- java将字符串转换为json对象的方法_java jsonobject转string
- java读取数据库_jsp怎么显示数据库数据
- Java 设计模式 | 单例模式
- 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
- Java容器(六):从容器出发探讨hashCode和equals详解编程语言
- Java base64编码和图片互相转换详解编程语言
- Java学习笔记之二java标识符命名规范详解编程语言
- Java连接MySQL数据库的简单步骤(java如何连接mysql数据库)
- 在Linux下搭建完美的Java开发环境(linux搭建java开发环境)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- MySQL与Java互调:构建高效业务系统(mysql调用java)
- Linux 升级Java:新版本带来的变化(linux升级java)
- Java编程实现MySQL数据库连接(java连mysql数据库)
- java中url汉字编码互相转换实例
- java网络编程之socket网络编程示例(服务器端/客户端)