精华内容
下载资源
问答
  • 数组转换集合or集合转换成数组

    千次阅读 2019-04-22 22:51:52
    1.数组转换集合 使用数组的工具类Arrays的方法asList 需要注意,只能转换为List集 public class ArrayToListDemo { public static void main(String[] args) { String[] array = {"one","two","three","four...

    1.数组转换为集合

    • 使用数组的工具类Arrays的方法asList
    • 需要注意,只能转换为List集
    public class ArrayToListDemo {
    	public static void main(String[] args) {
    		String[] array = {"one","two","three","four","five"};
    		
    		List<String> list = Arrays.asList(array);
    		System.out.println(list.size());
    		System.out.println(list);
    		
    		list.set(1, "2");
    		System.out.println(list);
    		/*
    		 * 对集合元素的操作就是对原数组对应元素的操作
    		 */
    		for(String str : array){
    			System.out.println(str);
    		}
    		/*
    		 * 从数组转换过来的集合是不能添加新元素的
    		 * 否则会抛出不受支持的操作异常
    		 * 因为对集合元素操作就是对原数组操作,添加
    		 * 元素会导致数组扩容,从而表示不了原数组。
    		 */
    //		list.add("six");
    		
    		/*
    		 * 想添加新元素,需要自行创建一个集合
    		 */
    		List<String> list1 
    			= new ArrayList<String>(list);
    	
    		System.out.println("list1:"+list1);
    		list1.add("six");
    		System.out.println("list1:"+list1);
    		
    	}
    }
    
    

    输出结果:
    在这里插入图片描述

    2.集合转换成数组

    • Collection提供了方法 toArray
    • 可以将当前集合转换为一个数组
    public class CollectionToArrayDemo {
    	public static void main(String[] args) {
    		Collection<String> c = new ArrayList<String>();
    		c.add("one");
    		c.add("two");
    		c.add("three");
    		c.add("four");
    		c.add("five");
    		System.out.println(c);
    		//不常用
    //		Object[] array = c.toArray();
    		
    		String[] array = c.toArray(new String[c.size()]);
    		System.out.println(array.length);
    		for(String str : array){
    			System.out.println(str);
    		}
    	}
    }
    
    

    在这里插入图片描述

    展开全文
  • 这是本人写的一个基于JSON的完整项目,实现了Java对象、数组集合转换为Json(Json转化为Java对象、数组集合)。这是一个完整的项目,下载解压后直接导入MyEclipse/Eclipse中,运行com.demo.JSONDemo类即可看到效果...
  • 数组转换成List集合

    万次阅读 多人点赞 2019-07-08 13:57:21
    问题描述:对于给定的如下数组,如何转换成List集合? String[] array = {"a","b","c"}; 参考stackoverflow总结如下几种写法: 1.使用原生方式,拆分数组,添加到List List<String> resultList = new ...

    问题描述:对于给定的如下数组,如何转换成List集合?

    String[] array = {"a","b","c"};

    参考stackoverflow总结如下几种写法:

    1.使用原生方式,拆分数组,添加到List

    List<String> resultList = new ArrayList<>(array.length);
    for (String s : array) {
        resultList.add(s);
    }

    2.使用Arrays.asList()

    List<String> resultList= new ArrayList<>(Arrays.asList(array));
    • 注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayListArray的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList

    3.使用Collections.addAll()

    List<String> resultList = new ArrayList<>(array.length);
    Collections.addAll(resultList,array);

    4.使用List.of()

    • 此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。
    List<String> resultList = List.of(array);

    原链接:https://stackoverflow.com/questions/157944/create-arraylist-from-array

    展开全文
  • Java之数组集合&集合转数组

    万次阅读 多人点赞 2019-04-16 23:50:48
    一、数组转换集合 需要注意的是,转换只能转换为List集合。那么为什么不能转换为Set集合呢? 原因是:Set不能存放重复元素,所以若转换为Set集合可能出现丢失元素的情况。。。 数组转换集合使用的是数组的工具类...

    一、数组转换为集合

    需要注意的是,转换只能转换为List集合。那么为什么不能转换为Set集合呢?

    原因是:Set不能存放重复元素,所以若转换为Set集合可能出现丢失元素的情况。。。

    数组转换为集合使用的是数组的工具类Arrays的静态方法asList。查看API文档可知该方法返回由指定数组支持的固定大小的列表。
    在这里插入图片描述
    eg:

    import java.util.Arrays;
    import java.util.List;
    
    public class testArrayToList {
       public static void main(String[] args) {
    	String [] strArr = {"刘雯","胡歌","杜鹃","邓伦"};
    	List<String> list = Arrays.asList(strArr);
    	System.out.println(list);//[刘雯, 胡歌, 杜鹃, 邓伦]
    }
    }
    
    

    思考一下:如果我想往这个由数组转换过来的集合里面添加元素,我能不能直接调用add方法呢?先试试
    eg:

    import java.util.Arrays;
    import java.util.List;
    
    public class testArrayToList {
       public static void main(String[] args) {
    	String [] strArr = {"刘雯","胡歌","杜鹃","邓伦"};
    	List<String> list = Arrays.asList(strArr);
    	System.out.println(list);
    	 list.add(1,"杨紫");
    	 System.out.println(list);
    	 
    }
    }
    
    

    结果运行异常:
    在这里插入图片描述
    那么为什么会出现这样的结果呢?

    原因:这个新集合是由数组转换过来的,那么该集合就表示原来的数组,所以对集合的操作就是对数组的操作。那么添加元素会导致原数组扩容,那么就不能表示原来的数组了。所以不允许向该集合添加新元素了。

    下面就来测试一下是否改变集合中的元素,原数组元素也随之改变。

    import java.util.Arrays;
    import java.util.List;
    
    public class Test1 {
    	public static void main(String[] args) {
    		String [] strArr = {"刘雯","胡歌","杜鹃","邓伦"};//原数组元素
    		List<String> list = Arrays.asList(strArr);
    		System.out.println(list); 
    		list.set(3, "杨紫");//将集合中下标为3的元素替换为“杨紫”
    		System.out.println(list);//修改后的集合打印结果:[刘雯, 胡歌, 杜鹃, 杨紫]
    		//下面打印数组中的元素,检测数组元素是否改变
    		for (String Arr : strArr) {
    			System.out.println(Arr);
    			/*
    				打印结果:刘雯
                             胡歌
                             杜鹃
                             杨紫
    			*/
    	//结果说明:对这个由数组转化过来的集合进行操作会导致原数组的改变。	
    		}
    	}
    }
    

    怎么解决想往集合添加元素这个问题呢?

    方法一:我们通过实验知道数组转化为List是不能增删数据的,如果需要增删,可以利用空集合调用addAll方法将转化后的集合全部添加新集合就可以进行操作了。

    示例代码:

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class testArrayToList {
       public static void main(String[] args) {
    	String [] strArr = {"刘雯","胡歌","杜鹃","邓伦"};
    	List<String> list = Arrays.asList(strArr);
    	System.out.println(list); 
    	/*list.add(1,"杨紫");这样直接调用add方法会出现运行异常。
    	 *可以利用空集合调用addAll方法将转化后的集合全部添加新集合就可以进行操作了。
    	 */
    	 List<String> newList = new ArrayList<>();
    	 /*
    	  * tips:为什么右边这个尖括号中不写String呢?
    	  * 原因:从JDK1.7开始,右侧的尖括号内部可以不写内容,但是<>还是要写的。
    	  */
    	 newList.addAll(list);
    	 newList.add(1,"杨紫");
    	 System.out.println(newList);
    }
    }
    
    
    
    

    方法二(比较推荐的写法):

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class Test1 {
    	public static void main(String[] args) {
    			String [] strArr = {"刘雯","胡歌","杜鹃","邓伦"};
    			List<String> list = Arrays.asList(strArr);
    			System.out.println(list); 
    //		    List<String> newList = new ArrayList<>();
    //			newList.addAll(list);
    //		    newList.add(1,"杨紫");
    //		    System.out.println(newList);
    			 List<String> newList = new ArrayList<>(list);
    			 /*
    			  *所有的集合都提供了一个带有Collection类型参数的构造方法。
    			  *该构造方法称为:复制构造器
    			  *作用:在创建当前集合的同时,集合中包含给定集合中的所有元素。
    			  */
    			 newList.add(1,"杨紫");
    			 System.out.println(newList);
    		 
    		}
    	}
    
    

    二、集合转换为数组

    在这里插入图片描述

    查看API可知有这两个方法可以帮助我们很容易地将集合转换为数组。其中第二个方法是比较常用的,我们可以传入一个指定类型的数组,该数组元素类型与集合元素类型一致。返回值是转化后的数组,该数组会保留集合中的所有元素。
    eg:

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class testListToArray {
    	public static void main(String[] args) {
    		List<String> list = new ArrayList<String>();
        	list.add("刘雯");
        	list.add("杨紫");
        	list.add("胡歌");
        	String [] strArr =  list.toArray( new String[]{});
        	System.out.println(Arrays.toString(strArr));//[刘雯, 杨紫, 胡歌]
        	/*
        	 * 这里解释一下为什么要调用Arrays.toString()方法,因为这个集合转换后的数组类型为
        	 * String,是引用类型的。在这里我们并没有重写toString方法,如果直接打印strArr,
        	 * 你将会看到的是@散列码。所以要想看到数组中的内容有两种解决方案,一是你在代码中重写
        	 * toString方法,二是你直接使用Arrays.toString()方法。
        	 */
    	}
    }
    
    
    展开全文
  • 数组转换集合

    2019-08-31 11:20:23
    数组转换集合 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Demo4_AsList { public static void main(String[] args) { demo1(); //demo2(); //集合...

    将数组转换成集合

    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    public class Demo4_AsList {
    
    	public static void main(String[] args) {
    		demo1();
    		//demo2();
    		//集合转数组,加泛型的
    		//demo3();
    	}
    
    	public static void demo3() {
    		ArrayList<String> list = new ArrayList<>();
    		list.add("a");
    		list.add("b");
    		list.add("c");
    		list.add("d");
    		
    		String[] arr = list.toArray(new String[10]);		//当集合转换数组时,数组长度如果是小于等于集合的size时,转换后的数组长度等于集合的size
    															//如果数组的长度大于了size,分配的数组长度就和你指定的长度一样
    		for (String string : arr) {
    			System.out.println(string);
    		}
    	}
    
    	public static void demo2() {
    //		int[] arr = {11,22,33,44,55};			
    //		List<int[]> list = Arrays.asList(arr);			
    //		System.out.println(list);						//[[I@15db9742]
    		Integer[] arr = {11,22,33,44,55};					
    		List<Integer> list = Arrays.asList(arr);
    		System.out.println(list);					//[11, 22, 33, 44, 55]
    	}
    
    	public static void demo1() {
    		String[] arr = {"a","b","c"};
    		List<String> list = Arrays.asList(arr);				//将数组转换成集合
    		//list.add("d");									//不能添加
    		System.out.println(list);
    	}
    
    }
    
    
    总结:1.数组转换成集合虽然不能增加或减少元素,但是可以用集合的思想操作数组,也就是说可以使用其他集合中的方法。2.基本数据类型的数组转换成集合,会将整个数组当作一个对象转换。3.将数组转换成集合,数组必须是引用数据类型。
    展开全文
  • 字符串数组转换为list集合

    千次阅读 2019-05-14 22:22:13
    // asList 该方法可以直接将一个数组转换为list集合,但是该集合是 [只读的],不能对得到的集合进行增删改 List<String> asList = Arrays.asList(arr); System.out.println(asList); // 结果:[a, C, abc] ...
  • 数组集合相互转化

    千次阅读 2018-08-19 22:50:06
    数组Array与集合List相互转化有两种方式,一种是自己手动转化,一种是直接使用集合数组自带的方法转化 数组转化集合: 方法一:手动转化 List&lt;String&gt; list= new ArrayList&lt;&gt;(); ...
  • 主要介绍了Java中数组集合的相互转换实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 对于存放基本数据类型的,如果我们单纯使用Arrays.toList的方法去转换,只会得到对象类型为int[]的集合。这样子每一个元素都是一个基本数据类型数组的对象,而不是我们要存放的数据。 public static void main([]...
  • *******敲代码的过程中,总会出现数组转换成List集合的情景,所以总结这篇文章,记录下来,方便以后查阅。******* String [ ] stringArray ={"test1","test2","test3"}; 1、遍历数组,添加到list集合中 List<...
  • ,先把字符串转换为数组,然后再把数组转化为list集合  String strToArrayStr2 = "4,5,6";  String [] strArray2 = strToArrayStr2.split(",");  List<String> strList = Arrays.asList(strArray2);  ...
  • 数组集合转换

    2019-06-16 15:54:03
    数组转换成List集合 方法一 就是通过add把数组中的数据循环添加到List集合中 List mlist = new ArrayList<>(); String[] array = new String[] {“zhu”, “wen”, “tao”}; // String数组转List集合 for ...
  • c#数组与list集合之间的相互转换

    千次阅读 2019-03-22 11:11:26
    string data = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"; string[] a = data.Split(',');//数组 List<string> b = new List<string>(a);//数组集合 b.RemoveAt(0); ...
  • 数组转换集合到方法

    千次阅读 2017-04-07 17:12:32
    1. addAll方法 2. 或者一个个add进去也行 3. 用arrays工具类的方法
  • 一、下载Newtonsoft.Json.dll程序集 二、新建一个学生类 public class Student { public string name { get; set; } public string sex { get; set; } ...static void Main(string[] args) ... string str = "[{'name'...
  • 对象数组数组集合转换的使用体会 使用情景: 在项目中,我从数据库查出的的数据是一个List的对象集合。 我需要将他转成一个对象数组。在对其进行处理需要。 错误方式: List<StoreInfo> list = new ...
  • int数组转换集合,并去重

    千次阅读 2019-12-19 22:16:07
    int类型数组转换集合,使用steam的装箱boxed()方法: List<Integer> collect = Arrays.stream(arr).boxed().collect(Collectors.toList()); 去重可以使用java8的steam流的distinct()方法。 import ...
  • 一、数组转化成集合 ... a)方法,将数组转换成List集合。  代码实例:  package cn.ccut; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Demo { p...
  • Java——数组转换为List集合

    千次阅读 2019-01-10 15:25:38
    package day04; import java.util.ArrayList; import java.util.... * 数组转换为List集合 * 不能转换为Set集合,原因在于Set集合不能存放重复元素 * @author Administrator * */ public class ToListDemo ...
  • import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MyTest { private final static String removeValue = "10";... public static void main(String[] args) { ...
  • 使用工具类 Arrays.asList()把数组转换集合时,不能使用其修改集合相关的方 法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常。 说明:asList 的返回对象是一个 Arrays 内部类,并没有...
  • Java字符串数组集合方法

    千次阅读 2020-11-07 15:09:52
    数组集合方法 使用 Arrays.asList(数组) 代码如下: //定义一个字符串 String zhuan = "1,2,3,4,5,6,7,8,9"; //分割字符串 String[] split = zhuan.split(","); // 把数组转成集合 List<String> ...
  • Java 数组转成集合List 三种方法 package com.list; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Java 数组转成集合List * @author luolei * @date 2019年2月18日 ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 需要将里面的每个元素都进行转换返回,需要使用泛型加构造起 ArrayList<Long> arrayList = new ArrayList(); arrayList.add(12L);arrayList.add(22L); arrayList.toArray( new Long[arrayList.size()])); ...
  • Arrays.asList仅对非基本类型数组可以有效的将其转为List集合,下面主要介绍如何利用java8中的特性将基本类型数组转换为List集合。 一、程序代码 package com.csdn; import java.util.Arrays; import java.util...
  • java 基本数据类型的数组转换集合

    千次阅读 2018-09-26 15:22:05
    注意:基本数据类型的数组转换集合,会将整个数组当作一个对象转换,将数组转换集合,数组必须是引用数据类型。 public static void main(String[] args) { int[] arr = {11,22,33,44,55}; List&lt;int...
  • 4.实现数组String[]与List集合的相互转换。要求:数组的两种遍历方式;List集合的三种遍历方式。 示例代码: package program.collection.exercise04; import java.util.ArrayList; import java.util.Arrays; ...
  • json数组和list集合转换总结

    千次阅读 2018-09-11 11:28:10
    //方法一,将json解析后赋给单独的元素 ...//方法二,json对象和bean对象之间相互转换 //maven 导入的jar包 //代码引入的: //假如你是有一个bean对象 class User{  private String userName;  pri...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 328,757
精华内容 131,502
关键字:

数组转换集合