java集合和数组互转

方法一:使用Arrays.asList()方法
String[] strs = {"one","two","three"};
List<String> strList = Array.asList(strs);
注意:
1)这个方法返回的是基于数组的List视图,并未正在的创建List对象,所以不能对List进行增加和删除操作,
进行修改List是,同样会修改到数组。
2)数组转换成只读的List,使用Collections.unmodifiableList()方法来将数组转换为List。
3)返回可增删改的List,使用new ArrayList(Array.asList(array))。

方法二:使用Collections.addAll()方法
String[] strs = {"one","two","three"};
List<String> list = new ArrayList();
Collections.addAll(list,strs);
注意:
该方法相当于一个添加操作,把数组strs中的元素添加到集合list中,不会覆盖集合list中的原有元素。

方法三:使用Spring框架的CollectionUtils.arrayToList()方法
String[] strs = {"one","two","three"};
List<String> list = CollectionUtils.arrayToList(strs);

将ArrayList转换成数组
使用toArray()方法
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("one");
arrayList.add("two");
String strs = arrayList.toArray(new String[0]);//集合转换成数组

更详细,请参考:
https://www.cnblogs.com/GarfieldEr007/p/7082945.html

原文地址:https://www.cnblogs.com/chaguo/p/9490576.html

时间: 2024-12-21 03:23:25

java集合和数组互转的相关文章

Java 集合与数组之间的转换

Java 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 (T...a)是可变参数,看成(T[] a)即可 <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表,这是披着List外表的纯数组,只是原数组的一个视图(对返回列表的更改会“直接写”到数组.) 返回的列表是可序列化的,并且实现了 RandomAcce

java 集合与数组的互转方法,与源码分析

前言 java数组与集合需要互相转换的场景非常多,但是运用不好还是容易抛出UnSupportedOperationException.下面讲解一下互转的方法,以及结合源码分异常产生的原因 集合转数组 List<String> strList = new ArrayList<>(10); strList.add("aa"); strList.add("bb"); strList.add("cc"); String[] str

集合与数组互转

一.集合转数组 以ArrayList集合为例,使用该集合的一个成员方法toArray(),可以将一个集合对象转化为一个数组.如下所示: 1 void listToArray(){ 2 List<String> list=new ArrayList<>();//创建一个集合对象 3 list.add("a");//向集合对象里添加元素 4 list.add("b"); 5 list.add("c"); 6 System.ou

Java集合与数组实现升序排序的算法设计

//已有一个升序排列的整数数组(含20个整数),要求从键盘输入一个整数后,将该数插入数组,并保持升序,输出该数组的数值验证程序的正确性. package test_Array; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Scanner; public class ArrayTest { public static void main(Stri

Java 集合转换(数组、List、Set、Map相互转换)

转自:http://blog.csdn.net/top_code/article/details/10552827 1 package com.example.test; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 import java.util.HashMap; 6 import java.util.HashSet; 7 import java.util.List; 8 import java.util.Map;

Java集合和数组的比较(为什么引入集合)

数组不是面向对象的,存在明显的缺陷,集合完全弥补了数组的一些缺点,比数组更灵活更实用,可大大提高软件的开发效率而且不同的集合框架类可适用于不同场合.具体如下: 1)数组的效率高于集合类. 2)数组能存放基本数据类型和对象,而集合类中只能放对象. 3)数组容量固定且无法动态改变,集合类容量动态改变. 4)数组无法判断其中实际存有多少元素,length只告诉了array的容量. 5)集合有多种实现方式和不同的适用场合,而不像数组仅采用顺序表方式. 6)集合以类的形式存在,具有封装.继承.多态等类的特

Java 集合、数组 任意个数数字相加等于一个指定的数

一组数字 任意个数数字相加的和等于指定的数字.  比如数字集合 1,2,3, 4,5,6  ,列出所有数字相加等于6的可能性,那么结果有:1+2+3,2+4, 主要这里的结果不是数组打乱顺序相加,而是按照数组顺序取任意个数相加减,所有大家看到结果只有1+2+3而没有1+3+2或则3+2+1 step1.实体类: static class TestDTO { String id; //id Integer num;//数字 public String getId() { return id; }

java List与数组互转

数组转List:String[] arr = new String[] {"str1", "str2"};List<String> list = Arrays.asList(arr); List转数组: List<String> list = new ArrayList<String>();list.add("str1");list.add("str2");int size = list.s

Java 集合(ArrayList)应用

JAVA集合 对象数组 集合类之ArrayList 学生管理系统 NO.one 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4} B:对象数组:存储的元素为引用类型 Student[] stus=new Student[3]; Student代表一个自定义类 Stus数组中stus[0],stus[1],stus[2]的元素数据类型为Student, 都可以指向一个Student对象 1.2 对象数组案例: 创建一个学生数组,存储三