小伙伴们已经知道了该如何循环数组,你们知道如何把java集合转为数组吗?有时候项目中就会碰到这样的问题,那么该怎么解决呢?下面就来看看吧。
数组转集合
public class ArrayToList { public static void main(String[] args) { String[] arrs = new String[3]; arrs[0] = "111"; arrs[1] = "222"; arrs[2] = "333"; List < String > list = Arrays.asList(arrs); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }
集合转数组
public class ListToArray { public static void main(String[] args) { List < String > arrayList = new ArrayList(); arrayList.add("111"); arrayList.add("222"); arrayList.add("333"); Object[] toArray = arrayList.toArray(); for (int i = 0; i < toArray.length; i++) { System.out.println(toArray[i]); } System.out.println("----我是分隔线----"); List < String > linkedList = new LinkedList < > (); linkedList.add("111"); linkedList.add("222"); linkedList.add("333"); Object[] toArray2 = linkedList.toArray(); for (Object o: toArray2) { System.out.println(o); } } }
集合转数组最主要的区别就是有两个toArray方法,有参与无参的,无参方法返回的是一个Object[]类型的数组,有参的方法返回的是泛型,示例:
public class ListToArray { public static void main(String[] args) { List < String > arrayList = new ArrayList(); arrayList.add("111"); arrayList.add("222"); arrayList.add("333"); Object[] toArray = arrayList.toArray(); for (Object o: toArray) { System.out.println(o); } System.out.println("----我是分隔线----"); String[] arrs = new String[3]; // 可以试一下 new String[2]; 和 new String[4] 的结果 String[] strings = arrayList.toArray(arrs); for (String arr: arrs) { System.out.println(arr); } } }
具体选择哪种方法就看自己的需求,如若需要转换后的数组为具体的类型,如String[]或Integer[] ,使用第二种(因为有泛型的支持);如若不需要泛型的支持,便选择第一种即可。
以上就是关于java集合转数组的所有内容,关于数组小伙伴们应该都有非常深刻的理解了吧,还想了解更多java项目中常见问题及答案的话,就请持续关注奇Q工具网了解具体。
推荐阅读: