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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • acwing-2189. 有源汇上下界最大流

    acwing-2189. 有源汇上下界最大流给定一个包含 n 个点 m 条边的有向图,每条边都有一个流量下界和流量上界。给定源点 S 和汇点 T,求源点到汇点的最大流。输入格式第一行包含四个整数 n,m,S,T。接下来 m 行,每行包含四个整数 a,b,c,d 表示点 a 和 b 之间存在一条有向边,该边的流量下界为 c,流量上界为 d。点编号从 1 到 n。输出格式输出一个整数表示最大流。如果无解,则输出 No Solution。数据范围1≤n≤202,1≤m≤9999,1≤a,b≤n,0≤c≤d≤105输入样例:10

    2022年8月9日
    3
  • 手机打开照相机_安卓11调用第三方相机

    手机打开照相机_安卓11调用第三方相机打开相机布局代码<Buttonandroid:id=”@+id/take_photo”android:layout_width=”match_parent”android:layout_height=”wrap_content”android:layout_gravity=”center”android:text=”打开相机”/><Buttonandroid:id=”@+id/chose_photo”andro

    2022年9月22日
    2
  • R-L模型算法的优缺点_模型解题

    R-L模型算法的优缺点_模型解题@[TOC]LR模型相关知识点#1.LR归一化问题,什么情况可以不归一化,什么情况必须归一化,#2.为什么提到LR损失函数要能知道交叉熵,为什么是它,以它为损失函数在优化的是一个什么东西,知道它和KL散度以及相对熵的关系#3.提到LR的求解方法,比如SGD,知道SGD和BGD的区别,知道不同的GD方法有什么区别和联系,二阶优化算法知道什么,对比offlinelearning和onlinelearning的区别#4.提到调参,知道模型不同超参数的含义,以及给定一个特定情况,大概要调整哪些参数,怎么

    2022年10月10日
    4
  • c语言调用循环内部函数,通达信绘图函数调用,通达信调用内部数据[通俗易懂]

    c语言调用循环内部函数,通达信绘图函数调用,通达信调用内部数据[通俗易懂]内容导航:Q1:通达信函数大全使用说明内容来自用户:艳我爱你you软件简介:通达信全部函数及其用法(2011年最新版)(一)行情函数1)HIGH(H)最高价返回该周期最高价.2)LOW(L)最低价返回该周期最低价.3)CLOSE(C)收盘价返回该周期收盘价.4)VOL(V)成交量(手)返回该周期成交量.5)OPEN(O)开盘价返回该周期开…

    2025年6月20日
    3
  • pycharm安装教程2021.2.2_eclipse环境配置

    pycharm安装教程2021.2.2_eclipse环境配置在PyCharm中如何配置Anaconda3环境软件:PyCharm2020.2.2×64;Anaconda3(64-bit)步骤如下:1.File→NewProject2.选择Newenvironment,Conda选项我的是默认选好的,没有更改3.Create即可,下一次创建新的项目默认使用Anaconda环境…

    2022年8月29日
    4
  • 焦点科技怎么老是招人_合肥新站区工业数字化转型怎么申报_合肥昊邦信息科技…

    焦点科技怎么老是招人_合肥新站区工业数字化转型怎么申报_合肥昊邦信息科技…首页>新闻中心发布时间:2020-11-1310:50:51 导读:合肥昊邦信息科技为您提供合肥新站区工业数字化转型怎么申报的相关知识与详情:BlueData的软件提供了一种基于容器的方法,用于在裸机,云或混合平台上启动和管理Hadoop,Spark和其他环境。注意已经正式删除了,且很多API都已经并入Keras中,所以整个代码有一种浓厚的Keras风格。我强烈建议已…

    2022年5月3日
    47

发表回复

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

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