当前位置:首页 > 开发 > 编程语言 > Java > 正文

[转]Java 数组与容器之间的转化 实现数组动态赋值

发表于: 2011-10-18   作者:borglee   来源:转载   浏览次数:
摘要: 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之间的转换
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 数组与容器之间的转化 实现数组动态赋值

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
java的数组总的来说有两种定义方法一种是型如: int [] array=new int[10]; 的定义 这种定义相当于
最初学习C语言时,看到国外程序员的内螺旋实现,都懵了,感觉超级复杂,一直没有去检查具体是如何实
简单的字符串与变量的输出,,, class ArrayShow { public static void main(String[] args) { int
Java编程思想,注重的应该是思想,我怎么笔记记得就是Java语法细节呢,很多例子的设计的思想也都没有
Java编程思想,注重的应该是思想,我怎么笔记记得就是Java语法细节呢,很多例子的设计的思想也都没有
关键字:JAVA 数组 1,首先数组在JAVA中也是一个类。 2,本来类型中的继承关系,在相应的数组中同样
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 int main() 5 { 6 int i; 7 int n; //
在使用数组的过程中,有时候希望数组的长度和元素个数能随程序的运行不断改变,但改变一次就要重新
一、XML文件转换为数组 <?php /*******************************************************/ //si
opencv,vs2008和matlab混合编程。 一 问题 : matlab不能找到vs2008编译器:mex –setup 和 mbuild
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号