精华内容
下载资源
问答
  • 2021-03-04 08:06:30

    在java中,List转数组,数组转List的方法都很简单。

    1:数组转换为List,用到了Arrays类的asList静态方法来将数组转化为List字符串集合,如下:String[] arr = new String[] {"str1", "str2"};

    List list = Arrays.asList(arr);

    System.out.println(list);

    2:List转Array数组的方法:,如下:List list = new ArrayList();

    list.add("str1");

    list.add("str2");

    String[] arr = new String[list.size()];

    for (int i = 0; i 

    arr[i] = list.get(i);

    }

    System.out.println(arr);

    List转数组的第二种方法:List list = new ArrayList();

    list.add("str1");

    list.add("str2");

    //使用toArray()的第二种方法

    String[] array = (String[]) list.toArray(new String[list.size()]);

    System.out.println(array);

    上面第二种方法如果这样使用,就会抛出java.lang.ClassCastException类转换异常,是错误的,如下:List list = new ArrayList();

    list.add("str1");

    list.add("str2");

    //这种直接使用toArray()的方法是错误的

    String[] array = (String[]) list.toArray();

    System.out.println(array);

    如果有什么建议或意见,请关注“太平洋学习网”微信公众号,与我一起交流。

    来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/java/451.html

    更多相关内容
  • List集合使用toArray方法转成数,该方法重载了两种形式,无参的和有参的,有参的又可以指定目的数组的不同长度,根据数组长度和原有List元素个数(size)的比较又可以分为几种情况,每一种方式对性能的影响不一。...

    List集合使用toArray方法转成数组,该方法重载了两种形式,无参的和有参的,有参的又可以指定目的数组的不同长度,根据数组长度和原有List元素个数(size)的比较又可以分为几种情况,每一种方式对性能的影响不一。本文主要以实例结合源码来分析不同情况性能问题,供实际工作和面试时参考。不多说,直接上干货

    创建一个简单的List,插入3个元素

    List list1 = new ArrayList<>();

    list1.add("a");

    list1.add("b");

    list1.add("c");

    方式1:使用无参toArray方法

    Object[] arr1 = list1.toArray();

    System.out.println("遍历arr1");

    for (Object object : arr1) {

    //可能会有类型转换错误

    Integer i1 = (Integer)object;

    System.out.println(i1);

    System.out.println(object);

    }

    该方式只能转成Object类型数组,原有集合指定的泛型消失,相当于类型擦除

    隐患:如果拆箱时强转成其他类型,可能会出现ClassCastException,比如代码中的

    Integer i1=(Integer)object 而且这种问题编译时不能识别,把问题隐藏到运行时

    方式2:使用有参toArray方法

    public T[] toArray(T[] a) {

    ** 该重载形式可以返回同List对应的泛型数组,保留了元素类型信息,避免了方式1的ClassCastException隐患

    方式2.1 目的数组长度大于 0小于原List的 size

    String[] arr3 = new String[2];

    //长度不够,需要复制一个新数组

    arr3 = list1.toArray(arr3);

    System.out.println("遍历arr3");

    for (String string : arr3) {

    System.out.println(string);

    }

    ** 由于数组长度小于List长度,为了能把集合中的元素放入数组,这种方式会重新创建大小等于 size 的数组(复制一个长度为size的新数组),频繁操作会增加 GC 负担。其对应源码为:**

    if (a.length < size)

    return (T[]) Arrays.copyOf(elementData, size, a.getClass());

    方式2.2 目的数组长度大于 0大于原List的 size

    String[] arr4 = new String[5];

    //目的数组长度大于原List长度

    list1.toArray(arr4);

    System.out.println("遍历arr4");

    for (String string : arr4) {

    System.out.println(string);

    }

    由于数组长度小于List长度,一方面浪费空间,另一方面List size 对应的位置只能插入 null 值,存在 Null指针异常 隐患。其对应源码为:

    if (a.length > size)

    a[size] = null;

    方式2.3 目的数组长度等于 0,动态创建与原List size 相同长度的数组

    String[] arr2 = list1.toArray(new String[0]);

    System.out.println("遍历arr2");

    for (String string : arr2) {

    System.out.println(string);

    }

    不多不少,直接挨个复制,这是性能最好的方式。其对应源码为:

    System.arraycopy(elementData, 0, a, 0, size);

    结语:即便是很常见,看起来很简单的集合操作,不同的实现方式也会有细微的差别,并且可能在生产环境中会对性能产生不小的影响

    展开全文
  • 主要介绍了Java编程实现数组转成list及list转数组的方法,结合实例形式较为详细的总结分析了java实现数组与list之间相互转换的操作技巧,需要的朋友可以参考下
  • java list 转数组

    2021-03-08 17:16:46
    java怎么把list转成数public static void listToarray() { List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); String[] arr = (String[])list.toArray...

    java怎么把list转成数组

    public static void listToarray() { List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); String[] arr = (String[])list.toArray(new String[list.size()]); for(int i=0;i

    java怎么把list转化成数组

    4b3c4d9de3973584b3279f413b45e07e.png

    java中 我想把集合转化为数组

    java中 我想把集合转化为数组List list=new ArrayList String[]List list=new ArrayList();list.add("aa");list.add("bb");String[] targetArr=new String[list.size()];list.toArray(targetArr);for(String s:targetArr){System.out.println(s);}推荐上面这样写。要是按你那这样写的话。

    JAVA,List数组的转换

    我现在有[73, 71, 61] 的list,怎么变成73,71,61就是把中括号去掉

    List list = new ArrayList(); list.add("73"); list.add("71"); list.add("61"); String temp = ""; for (int i = 0; i < list.size(); i++) { temp += list.get(i).toString(); if(list.size()-1。=i){ temp += ","; } } System.out.println(te

    java中list怎么转为数组

    list集合有个方法直接调用就可以了 Object [] obj = lsit.toArray(); 返回的就是数组了

    java list转二维数组我用JDBC连接数据库,然后查出来的两列数据放到一个集合里。在另一个类使用toArray方法进行Object数据转换,或者T[] toArray(T[] a)转换成相应类型的数组。 检查数组大小,即可检查是否是空数组了。

    java数组和list怎么转换成javaarray

    java数组转换成为List。 调用Arrays的asList方法. String[] arr = new String[] {"1", "2"}; List list = Arrays.asList(arr);

    java list转换成二维数组

    Swingtext sw =new Swingtext(); Swingtextdao swdao = new Swingdao();Object[][] data=new Object[list.size()][4]; for(int i;i

    java 怎么把数组转为list

    1.List转换成为数组。(这里的List是实体是ArrayList) 调用ArrayList的toArray方法。 toArray public T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。

    java中数组如何转换成List?

    想把一个byte[]转换到List里

    展开全文
  • JAVAList转数组和数组转List

    千次阅读 2022-04-14 19:03:41
    import java.util.*; public class asLists { public static void main(String[] args) { // 此处需要注意基本数据类型和包装类的接收方式 int[] arr = {1,2,3,4,5}; Integer[] arr1 = {1,2,3,4,5}; List<...

    1. 数组转List:

    核心代码是Arrays.asList(arr),示例:

    import java.util.*;
    
    public class asLists {
        public static void main(String[] args) {
        	// 此处需要注意基本数据类型和包装类的接收方式
            int[] arr = {1,2,3,4,5};
            Integer[] arr1 = {1,2,3,4,5};
            List<int[]> ints = Arrays.asList(arr);
            List<Integer> integers = Arrays.asList(arr1);
            // java8中流式处理方式
            List<int[]> collect = Stream.of(arr).collect(Collectors.toList());
            List<Integer> collect1 = Stream.of(arr1).collect(Collectors.toList());
        }
    }
    
    

    asList基本数据类型和包装类声明踩坑,可以详见 传送门

    2. List转数组:

    核心代码是list.toArray(),示例:

    import java.util.*;
    
    public class asLists {
        public static void main(String[] args) {
            List<String> list=new ArrayList<>();
            list.add("dog");
            list.add("cat");
            list.add("cow");
            // 注意,当声明转换的大小和类型时,自动返回对应类型,否则返回object类型
            // 但是无论如何,返回都是包装类
            String[] strings = list.toArray(new String[list.size()]);
            Object[] objects = list.toArray();
    		
    		// 流方式处理
    		String[] strings1 = list.stream().toArray(String[]::new);
            Object[] objects1 = list.stream().toArray();
            // 如整形
    		List<Integer> list1 = new ArrayList<>();
            list1.add(1);
            Integer[] integers = list1.toArray(new Integer[list1.size()]);
        }
    }
    
    

    原文链接:https://blog.csdn.net/l8947943/article/details/106967775

    展开全文
  • java list转数组

    2019-05-20 20:13:21
    int [] res = null;...List<Integer> list = new ArrayList<Integer>(); ListNode p = head; ListNode cur = head; while(p != null) { list.add(p.val); p = p.next; } res = list.stream().map...
  • final int size = list.size();      return (String[])list.toArray(new String[size]);
  • java 集合list转数组的几种方式

    万次阅读 2019-04-04 09:35:37
    这里要注意list类型,和数组的类型是一致的,这里我默认list是string,假如list是Integer类型,那就是list.toArray(new Integer[list.size]) 2.stream 流 list.toStream.toArray(String[]:new)...
  • java List集合转数组

    2021-05-24 13:59:38
    List集合转数组 List<Long> oneOrderIds = new ArrayList<>(); oneOrderIds.toArray(new Long[oneOrderIds.size()])
  • java 8中的List转数组

    千次阅读 2019-04-01 13:57:09
    @RequestMapping(value = “/list”) @ResponseBody public Object list(String condition, String developer, String reporter, String beginDate, String endDate, String province, String city, String ...
  • ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法: 1.list.toArray(); 2.list.toArray(T[] a); 对于第一个重载方法,是将list直接转为Object[] 数组; 第二种方法是将...
  • 1.整型数组转List List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList()); 2.List转整型数组 int[] arr = list.stream().mapToInt(Integer::valueOf).toArray();
  • 今天写代码遇到一个奇怪的问题,具体代码不贴出了,写一个简化的版本。如下:ArrayList list=new ArrayList();...可是具体运行的时候报异常,如下:Exception in thread "main" java.lang.ClassCastExc...
  • 前几天写代码碰到了这个场景,要将一个List转换成数List<String> list = new ArrayList<String>(); ... list....
  • javalist转化为数

    2022-02-06 16:30:27
    Integer[] res = new Integer[list.size()]; //把list中内容放到a中 list.toArray(res); 2.for循环 int[] res = new int[list.size()]; for (int k = 0; k < list.size(); k++) { res[k] = list.get(k); ...
  • List转数组,转逗号间隔的字符串 List topicList = XXX; String labelStr = StringUtils.join(topicList.toArray(),",")); 数组转list String customerLabel = "xxx,xxx"; ...
  • java ArrayList转数组

    千次阅读 2021-10-25 16:25:02
    toArray()转数组 import java.util.ArrayList; public class TestMain { public static void main(String[] args) { ArrayList<String> arrayList = new ArrayList<String>(); arrayList.add(...
  • java ArrayList 转数组 【转】

    千次阅读 2021-03-08 04:42:14
    1.List转换成为数组。(这里的List是实体是ArrayList)调用ArrayList的toArray方法。toArraypublic T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时...
  • 数组转换成 List 集合 数组转 List 集合常用的方式是使用 java.util 包下的 Arrays.asList 方法进行转换: import java.util.Arrays; List<String> list = Arrays.asList("123", "456", "789...List 集合转数组
  • Java-list转数组、数组转list

    千次阅读 2019-03-24 18:02:16
    //list转数组 List<String> pfIdsList = new ArrayList<String>(); String[] PFIdArr = pfIdsList.toArray(new String[pfIdsList.size()]); //数组转list String[] s = {"a","b","c"}; List list = ...
  • java List和数相互转换方法

    万次阅读 多人点赞 2017-10-18 15:15:16
    前言在java项目中数组和list集合(这里指ArrayList)经常需要互相转换,因此这里把两者互相转换的一些方法总结一下一、List转数组方法一、使用for循环 //要转换的list集合 List testList = new ArrayList(){{add...
  • JAVAList 与 数组 相互转换

    千次阅读 2022-01-18 20:37:04
    一、 List 转化成 数组 1. list.toArray(); 直接将 list 转换成 Object[] 类型的 数组; Object : 对象类,是所有类的父类 Object[] ans1 = list.toArray(); 2. list.toArray(T[] a); 输出指定类型的数组,...
  • java中数组转List package demo; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ListDemo { public static void main(String[] args) { Str...
  • Java 集合转数组&数组转集合的方法 有代码
  • import java.util.List; public class testArrayToList { public static void main(String[] args) { String [] strArr = {"刘雯","胡歌","杜鹃","邓一"}; List<String> list = Arrays.asList(strArr); ...
  • list 转 字符串 List<Map<String, Object>> activityStaList = activityService.getStatusByDeptId(deptId); String actNames = ""; String actStatuss = ""; for(int i = 0 ; i < ...
  • javalist怎么转为数组?

    千次阅读 2021-03-04 09:27:04
    javalist集合转为数组的方法:1、使用无参数toArray方法,语法格式“Object[] toArray();”;2、使用支持泛型的toArray方法,语法格式“T[] toArray(T[] a...List转换成数,可以使用List的toArray()或者toArray(...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,415
精华内容 2,566
关键字:

javalist转数组

java 订阅