首页 > 编程语言 >Java 数组与List转换

Java 数组与List转换

时间:2023-10-15 20:45:06浏览次数:26  
标签:Java String List list add 数组 Test new

示例

 @Test
    void str2arr() {
        String ids = "1,2,3,4,5,6";

        //字符串 --> String数组
        String[] arrayStr = ids.split(",");
        System.out.println(arrayStr);
    }

    @Test
    void list2Str() {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            list.add("_" + i);
        }
        //List<String> --> ,分隔的String
        String Str2 = String.join(",", list);
    }

    @Test
    void arr2List() {
        int[] arr = {1,2,3};
        List<int[]> ints = Arrays.asList(arr);
        System.out.println(ints);

        Integer[] arr2 = {1,2,3};
        List<Integer> ints2 = Arrays.asList(arr2);
        System.out.println(ints2);

        // Arrays.asList()返回一个受指定数组支持的固定大小的列表。所以不能做Add、Remove等操作
        // ints2.add(4);
        // System.out.println(ints2);

        List<Integer> ints3 = new ArrayList<>(ints2);
        ints3.add(4);
        System.out.println(ints3);
    }

    @Test
    void arr2List2() {
        String[] arrayStr = {"1", "2", "3"};
        //String数组 --> List<String>
        List<String> listStr = Arrays.stream(arrayStr).collect(Collectors.toList());

        int[] arrayInt = {1, 2, 3};
        //int数组 --> List<Integer>
        List<Integer> listInt = Arrays.stream(arrayInt).boxed().collect(Collectors.toList());
    }


    @Test
    void arr2Set() {
        Integer[] arr2 = {1,2,3};
        Set<Integer> set = new HashSet<>(Arrays.asList(arr2));
        System.out.println(set);
    }

    @Test
    void List2Arr() {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            list.add("1-"+i);
        }
        String[] arr = new String[list.size()];
        list.toArray(arr);
    }

    @Test
    void List2Set() {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            list.add("1-"+i);
        }
        Set<String> set = new HashSet<>(list);
        System.out.println(set);
    }

    @Test
    void Set2List() {
        Set<String> set = new HashSet<>();
        for (int i = 0; i < 4; i++) {
            set.add("1-"+i);
        }
        List<String> list = new ArrayList<>(set);
        System.out.println(list);
    }

    @Test
    void arr2arr() {
        String ids = "1,2,3,4,5,6";
        //字符串 --> String数组
        String[] arrayStr = ids.split(",");

        //String数组 --> int数组
        int[] arrayInt = Arrays.stream(arrayStr).mapToInt(Integer::parseInt).toArray();

        // int数组 --> String数组
        String[] arrayStr2 = Arrays.stream(arrayInt).mapToObj(String::valueOf).toArray(String[]::new);
    }


    @Test
    void testStream() {
        List<String> stringList = new ArrayList<>();
        stringList.add("zhang3");
        stringList.add("lis4");
        stringList.add("wang5");
        stringList.add("zhao6");

        List<Map<String, String>> stringList1 = stringList.stream().map(item ->
                {
                    Map<String, String> map = new HashMap<>();
                    map.put("name", item.toUpperCase());
                    map.put("class", "1");
                    return map;
                }
        ).collect(Collectors.toList());
        System.out.println(stringList1);
    }

 

参考

https://blog.csdn.net/qq_36095679/article/details/98176723

标签:Java,String,List,list,add,数组,Test,new
From: https://www.cnblogs.com/kaituorensheng/p/17766141.html

相关文章

  • java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest no
    完整的报错信息java.lang.TypeNotPresentException:Typejavax.servlet.http.HttpServletRequestnotpresent atjava.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)~[na:na] atjava.base/sun.reflect.generics......
  • 用Java语言简单实现MQ消息队列服务
    大致的结构:一个消息队列大致的结构:消息处理中心Brokerpackagecom.tntxia;importjava.util.concurrent.ArrayBlockingQueue;/***消息处理中心*/publicclassBroker{//队列存储消息的最大数量privatefinalstaticintMAX_SIZE=3;//保存消息数据......
  • java线程
    Java虚拟机(JVM,是运行所有Java程序的抽象计算机,是Java语言的运行环境)允许应用程序并发地运行多个线程。在Java语言中,多线程的实现一般有以下三种方法:1、实现Runnable接口,并实现该接口的run()方法。①自定义类并实现Runnable接口,实现run()方法。②创建Thread对象,用实现Ru......
  • 「KDOI-03」构造数组
    Saintex1分钟就切啦,有什么好说哒!首先可能想到设\(c_{i,j}\)表示(i,j)被操作的次数,那么答案很好求。但是这个数量并不好记录。如果仅仅钦定(i,j)从小到大之类的东西也不好搞。所以考虑钦定其他的东西。设\(dp_{i,j,k}\)表示前i位,有j个操作(x,y)满足\(x<y\leqi\)......
  • leetcode2845. 统计趣味子数组的数目
    题解classSolution{public:longlongcountInterestingSubarrays(vector<int>&nums,intmodulo,intk){inta[100010];unordered_map<int,int>mp;mp[0]=1;longlongans=0;intpre=0;......
  • 打印数组中任意连续元素
    打印数组中任意连续元素1.例子#include<stdio.h>intmain(void){intarray[201];inti;for(i=0;i<201;i++)array[i]=i;return0;}在gdb中,如果要打印数组中任意连续元素的值,可以使用“parray[index]@num”命令(p是print命令的缩写)。其中index......
  • 【gdb】打印数组的索引下标
    打印数组的索引下标1.例子#include<stdio.h>intnum[10]={1<<0,1<<1,1<<2,1<<3,1<<4,1<<5,1<<6,1<<7,1<<8,1<<9};intmain(void){inti;for......
  • 无涯教程-NumPy - 数组操作
    NumPy包中提供了一些例程来处理ndarray 对象中的元素。它们可以分为以下类型-Changing维度Sr.No.Shape&Remark1reshape在不更改数据的情况下为数组赋予新的维度2flat数组上的一维迭代器3flatten返回折叠成一维的数组的副本4ravel返回一个连续的扁平数组Tr......
  • 《Head First JavaScript程序设计》高清高质量 原版电子书PDF+源码
    下载:https://pan.quark.cn/s/9b368a216582......
  • 原型模式--Java实现
    画类图浅克隆:深克隆:具体代码实现浅克隆具体代码://Vector.javapackageorg.example.design004;importjava.lang.reflect.Array;importjava.util.Arrays;publicclassVectorimplementsCloneable{publicint[]getArray(){returnarray;}......