List转换为String[],int[],等等,下面以String为例
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 数组与Collection之间的转换
*/
public class ArrayCollection {
public static void main(String[] args) {
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//当List中的数据类型都一致时,可以将list转化成数组
//转化成对象数组时,直接调用toArray方法
Object[] objArray = list.toArray();
System.out.println("从list转化成的对象数组的长度为: " + objArray.length);
//在转化成其他类型的数组时,需要强制类型转换,并且,要使用带参数的toArray方法。
//toArray方法的参数为一个对象数组,将list中的内容放入参数数组中
//当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度
String[] strArray1 = (String[])list.toArray(new String[0]);
System.out.println("从list转化成的字符串数组的长度为: " + strArray1.length);
//分配一个长度与list的长度相等的字符串数组。
String[] strArray2 = (String[])list.toArray(new String[list.size()]);
System.out.println("从list转化成的字符串数组的长度为: " + strArray2.length);
list.clear();//清空List
//将数组转化成List
//逐个添加到List
for (int i=0; i<objArray.length; i++){
list.add(objArray[i]);
}
System.out.println("从数组转化成的list的元素个数: " + objArray.length);
list.clear();//清空List
//直接使用Arrays类的asList方法
list = Arrays.asList(objArray);
System.out.println("从数组转化成的list的元素个数: " + objArray.length);
Set set = new HashSet();
set.add("aaa");
set.add("bbb");
//Set转化成数组
objArray = set.toArray();
strArray1 = (String[])set.toArray(new String[0]);
strArray2 = (String[])set.toArray(new String[set.size()]);
//数组转换成Set
//将数组转换成List后,再用List构造Set
set = new HashSet(Arrays.asList(objArray));
//将Set清空,然后把数组转换成的List全部add
set.clear();
set.addAll(Arrays.asList(strArray1));
}
}
结果:
从list转化成的对象数组的长度为: 4
从list转化成的字符串数组的长度为: 4
从list转化成的字符串数组的长度为: 4
从数组转化成的list的元素个数: 4
从数组转化成的list的元素个数: 4
以上内容转自:
http://m.oschina.net/blog/28470
阅读博客
分享到:
相关推荐
java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!
java数组赋值
matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值matlab数组循环赋值...
matlab数组赋值的多种方法
java 动态的数组链表 java 动态的数组链表 java 动态的数组链表
易语言学习进阶二维数组赋值源码,学习进阶二维数组赋值
autoit 解决二维数组动态赋值
//循环为整型数组赋值 //循环输出整型数组中的元素 //求整形数组的累加和 //定义整形数组 //从键盘接收数据,为数组元素赋值 //求数组元素的累加和 //求数组元素的最大值 如何对变量a,b的值进行交换 //冒泡排序 //内...
//没有赋值的数组元素会进行默认的初始化 } //在定义数组时,如果确定数组的各个元素,可以进行静态初始化 ,在创建数组时,给数组元素赋初值 int [] data2 = new int[] {34,56,765,78}; //注意静态初始化时,不需要指定...
C++动态二维数组的申请、赋值、使用、释放以及作参数示例
1. 编写一个程序打印数出有10个元素的浮点数组a1中最大值和最小值。 2.将有10个元素的数组a1 拷贝至含有15个元素的数组b1的一段位置。 3.将一个已存入数组中的值45,89,7,6,0,按0,6,7,89,45的次序打印...
matlab数组赋值的示例,一眼看懂
java数组 类型课件 类类型的变量 江苏无锡
该程序是我写的博客“一起talk C栗子吧(第五回:C语言实例--数组巧妙赋值)”的配套程序,共享给大家使用。
C++实现三维动态数组,赋值,加减乘算法,适用于三维空间对象之间的运算实现。 3DArray.zip └── 3DArray ├── 3DArray.dsp ├── 3DArray.dsw ├── 3DArray.ncb ├── 3DArray.opt ├── 3DArray.plg ├─...
//数组的第一个数设为最小值 for(i=1;i;i++) //因为min=[0],所以i从1开始 { if(a[i]) //如果有比min小的数,就将这个数赋值给min { min=a[i]; minindex=i;//记录下标 } } minindex++; ...
从这里学习到一个数组的赋值的方法,即实际赋值可以按不同的顺序(只要是合法的下标),而不是仅限于从0~N这样的顺序去赋值。