首页 > 编程语言 >Java 8 中 List 转 int[]

Java 8 中 List 转 int[]

时间:2023-01-17 10:24:58浏览次数:64  
标签:toArray Java int List list2 add new

原文地址:List (或ArrayList) 转换为int[]数组 终于搞懂了

import java.util.ArrayList;
import java.util.List;
//list转为数组
public class Main {
    public static void main(String[] args) {//1.一维字符串list转为数组
        List<String> list1=new ArrayList<>();
        list1.add("hello");
        list1.add("world");
        list1.add("!");
        String[] strings=new String[3];
        strings=list1.toArray(new String[0]);//传入参数,表示强转

        //2.一维数字list转为数组
        List<Integer> list2=new ArrayList<>();
        list2.add(1);
        list2.add(2);
        list2.add(3);
        int[] arr=new int[3];
        //下一行代码是仿照String类型写的。但是报错'toArray(T[])' in 'java.util.List' cannot be applied to '(int[])'
        //原因:toArray()方法应该传入的参数T是泛型,但是泛型必须是引用类型,不能是基本类型(比如int)
        // arr=list.toArray(new int[0]);

        //解决方法1:采用流式处理Stream进行处理
        arr=list2.stream().mapToInt(Integer::valueOf).toArray();

        //解决方法2:声明一个Integer类型的数组
        Integer[] arr2=new Integer[3];
        arr2=list2.toArray(new Integer[0]);

        for(int num:arr)
            System.out.println(num);//1 2 3
        for(int num:arr2)
            System.out.println(num);//1 2 3


        //3.二维数字list转为数组
        List<int[]> list3=new ArrayList<>();
        list3.add(new int[]{0,111});
        list3.add(new int[]{1,222});
        //这里的泛型T为:int[],是引用类型,所以不会报错
        int[][] arr2D=list3.toArray(new int[0][0]);
        for (int[] n:arr2D)
            System.out.println(n[0]+" " +n[1]);//0 111    1  222
    }
}

标签:toArray,Java,int,List,list2,add,new
From: https://www.cnblogs.com/shixuanliu/p/17057102.html

相关文章

  • Java进阶路线
    阶段一计算机基础Java入门学习 Day2:注释、标识符、关键字/数据类型/类型转换/变量常量/运算符/包机制、JavaDoc/2023-1-12Java基础语法 Day3:Scan......
  • List和Set的区别
    list:按对象进入顺序保存对象,是有序的,对象可重复,允许多个null元素,可以使用迭代器Iterator取出元素进行遍历,也可以使用get(index)进行下标访问set:是无序的,对象不可重复,最多......
  • java static 静态变量
    目录视频链接javastaticstatic基础static修饰方法的应用场景工具类工具类实例javastatic应用注意事项null视频链接静态变量:https://www.bilibili.com/video/BV17F411T......
  • 30、electron contents.printToPDF(options)页网转PDF,指定pageSize,windows与linux环境
    electron将网页转成pdf使用方法contents.printToPDF(options),具体使用方法查看官网:https://www.electronjs.org/zh/docs/latest/api/web-contents#contentsprinttopdfopti......
  • Java项目笔记
    使用lombok成员方法输出日志@SpringBootApplication@Slf4jpublicclassReggieTakeOutApplication{publicstaticvoidmain(String[]args){SpringA......
  • Java实现字符串和零宽字符之间的相互转换
    如题,上网找了一圈发现都是用JavaScript实现的,只好自己将JavaScript实现的代码转为Java代码实现://String->零宽字符publicstaticStringstrToZeroWidth(Stringstr){......
  • idea运行别人的java项目需要注意的地方
    常规java项目的配置1.假设有两层路径,要进入到第二层,才用右键打开第一层第二层2.在ProjectStructure中配置输出文件夹的路径3.修改编译的方式,javac或者eclipse4......
  • 05.Java流程控制
    Java流程控制用户交互ScannerJava提供了一个工具类,可以获取用户的输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanners......
  • Java字符串 equals()与==的比较
    理解equals()方法和==运算符执行的是两个不同的操作是重要的。如同刚才解释的那样,equals()方法比较字符串对象中的字符。而==运算符比较两个对象引用看它们是否引用相同......
  • 9.使用JavaConfig实现配置
    要完全不使用Spring的xml配置了,全权交给Java来做!JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!实体类packagecom.zuo.entity;importorg.sp......