数组和集合的相互转换

1.集合转换为数组

package cn;

import java.util.ArrayList;

/**
 * 集合转换为数组
 */
public class ListToArrayDemo {
	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<String>();

		list.add("hello");
		list.add("world");
		list.add("java");

		Object[] obj = list.toArray();
		for (int i = 0; i < obj.length; i++) {
			String str = (String)obj[i];
			System.out.println(str);
		}

	}

}

hello

world

java

2.数组转换为集合

package cn;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为集合 
 */
public class ArrayToListDemo {
	public static void main(String[] args) {
		String[] str = new String[]{"hello","world","java"};

		List<String> list = Arrays.asList(str);

		for(String s :list){
			System.out.println(s);
		}

	}

}

但是,数组转换为集合之后,是不能增 删 但是可以更新(其实就是set(int index,T value))

package cn;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为集合 
 */
public class ArrayToListDemo {
	public static void main(String[] args) {
		String[] str = new String[]{"hello","world","java"};

		List<String> list = Arrays.asList(str);
		list.set(0, "哈哈");

		for(String s :list){
			System.out.println(s);
		}

	}

}

why?因为虽然数组转换为集合之后,变成了集合,但是它本质上还是数组,就比如江山易改本性难移。而且数组一旦定义之后,长度是不可以改变的。而此时你用转换过来的集合去增加和删除元素,那么不就是更改了数组的长度吗?

时间: 2024-08-24 21:34:53

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

C#语言中数组和集合

数组.集合→用于储存多个同类型的数据数组 定长→用于保存固定数量的数据 在功能上,数组能实现的所有功能,集合都能实现:反之,集合能实现的某些功能,数组难以实现 占用内存少 便利速度快集合 不定长→保存的数据数量,可以在程序的执行过程中,发生变化 占用内存多 便利速度慢课时六:数组和集合 数组.集合→用于储存多个同类型的数据 数组 定长→用于保存固定数量的数据 在功能上,数组能实现的所有功能,集合都能实现:反之,集合能实现的某些功能,数组难以实现 占用内存少 便利速度快 集合 不定长→保存的数据数

.NET 基础 一步步 一幕幕[数组、集合、异常捕获]

数组.集合.异常捕获 数组: 一次性存储多个相同类型的变量. 一维数组: 语法: 数组类型[] 数组名=new 数组类型[数组长度]; 声明数组的语法: A.数据类型 [] 数组名称= new 数据类型[2]{1,2}: B.数据类型 [] 数组名称 = new 数据类型[数组大小]; C. 数据类型 [] 数组名称 = {数据,数据,数据,数据}; ***数组的长度一旦固定了,就不能再被改变了 可以通过索引来访问数组中的元素: 数组名称[索引位置] 案例: 多维数组:多个线性数组的值 二维:i

非计算机专业的码农C#学习笔记 五、数组和集合

数组和集合 1.数组问题Array (1)一维数组:int[] arr={1,2,3,5,5} string[] s={s,l,s,g} (2)二维数组:int[,] arr=new int[2,2]{{1,2},{3,4}} 类型[,] 数组名=new 类型[行数(元素数),列数(元素的子元素数]{{元素1,元素2},{元素…},…,} l  动态数组:类型[,] 数组名=new 类型[M,N],int M=””;int N=””; l  查看内部元素:foreach(int n in arr

数组和json的相互转换

json_encode() <?php /*****一维数组*********/ //有键 $arr = array( 'a'=>1, 'b'=>2, 'c'=>3, ); $json = json_encode($arr); echo($json); //{"a":1,"b":2,"c":3} //无键 $arr = array(1,2,3); $json = json_encode($arr); echo($json)

集合转数组,数组转集合,集合中只可以装引用数据类型

1 package com.pang.jihe_demo; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 import java.util.List; 6 7 public class Demo01 { 8 public static void main(String[] args) { 9 //集合转数组,集合中只可以装引用数据类型 10 ArrayList<Integer> list = new ArrayList

java中有关数组或集合的起始位详解

在jdbc连接数据库时,起始位都是从1开始的 例如:Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis", "root", "ms"); String sql="SELECT * FROM users WHERE NAME=?"; pstm=

数组与集合List的相互转化

数组转化为集合 #此运用的是Arrays中的asList方法,返回一个List集合 *当数组元素为基本数据类型是把整个数组当作一个元素放入List集合中,代码举例: int[] a = {1,2,3}; List<int[]> list = Arrays.asList(a);//asList是静态方法 *当数组元素为对象时,是把数组的每个元素分别放入List集合当中,代码举例: String[] s = {"ni", "hao"}; List<St

前端C#基础:数组与集合

学习web前端是一个带有一点小乐趣的过程.它是与理科思维比较相关联的,所以学习好他就必须掌握牢固的基础,对基础知识的细节要了解.下面我就总结两个我们经常用到,但又因为他们定义与用法都比较相近,而经常搞混的知识点:集合与数组. 数组与集合 相同点: 1.一个数组类型变量可以存放多个同类型的数据.2.数组项的编号称为索引或下标.3.数组的索引(下标)是一个int类型的数字,从0开始.   依次为每一个数组项编号. 4. 数组(集合)项:  变量名[ n ] 5.数组(集合)项的读取: 变量名[ 索引

java 基本数据类型数组与集合之间相互转换

Arrays工具类的asList()方法的使用* A:案例演示 * Arrays工具类的asList()方法的使用 * Collection中toArray(T[] a)泛型版的集合转数组 数组转集合 :  Arrays工具类的asList()方法的使用  public static void demo2() { //int[] arr = {11,22,33,44,55}; //List<int[]> list = Arrays.asList(arr); 基本数据类型的数组转换成集合,会将整