数组和Collection之间的转换
2011-04-28 10:56
357 查看
在Java 编程中,通常会用到数组和Collection、Map之间的转换。
1. 数组转Collection
import java.util.*
String [] str={"aa", "bb","cc"};
List list=Arrays.asList(str);
通过调用工具类Arrays的asList静态方法将数组转为list ,这时list的长度为参数数组的大小,不能通过add来添加元素。
当然也可以通过for循环来逐个向list里添加元素。
2. Collection转数组
在JDK里Collection接口类中提供了两个实现方法
toArray() // 返回Object[]
toArray(T[] array) //返回T[]
这两个方法返回原Collection包含所有元素的数组
3. Map转Collection、Set
HashMap或TreeMap通过调用values方法才能转为值的Collection
HashMap或TreeMap通过调用keySet方法才能转换为键的Set
下面通过实例来说明
1. 数组转Collection
import java.util.*
String [] str={"aa", "bb","cc"};
List list=Arrays.asList(str);
通过调用工具类Arrays的asList静态方法将数组转为list ,这时list的长度为参数数组的大小,不能通过add来添加元素。
当然也可以通过for循环来逐个向list里添加元素。
2. Collection转数组
在JDK里Collection接口类中提供了两个实现方法
toArray() // 返回Object[]
toArray(T[] array) //返回T[]
这两个方法返回原Collection包含所有元素的数组
3. Map转Collection、Set
HashMap或TreeMap通过调用values方法才能转为值的Collection
HashMap或TreeMap通过调用keySet方法才能转换为键的Set
下面通过实例来说明
public class TestArrayAndCollection { public static void main (String []args){ String []str1={"aaa","bbb","ccc","ddd"}; List<String> list=new ArrayList<String>(); for(int i=0;i<str1.length;i++){ list.add(str1[i]); } list.add("fff"); System.out.println("取數組元素,調用add轉為list: "+list); List<String> list1=Arrays.asList(str1);//調用數組轉list方法,且list長度不可改變 //list1.add("eee"); 不能動態增加 System.out.println("調用asList將數組轉換為list1: "+list1); List<String> list2=new ArrayList<String>(); list2.addAll(list1); list2.add("ggg"); System.out.println("調用add,addAll轉為list2: "+list2); Object[]obj1=list1.toArray();//調用List的toArray方法將list轉為數組對象 System.out.print("調用toArray轉換為數組:"); for(Object s:obj1){ System.out.print(s+","); } System.out.println(); System.out.print("先將數組轉List,再將List轉為Set:"); Set<Object> set2=new HashSet<Object>(Arrays.asList(str1));//數組轉為list,再將list轉為set System.out.print(set2); System.out.println(); System.out.print("調用toArray將Set轉為數組:"); Object[] obj2=set2.toArray(); for(Object s:obj2){ System.out.print(s+","); } } }
相关文章推荐
- List、Set、数组之间的转换 数组转Collection
- 数组与collection(集合类)之间的转换
- Collection和数组之间的转换
- 关于数组和List之间相互转换的方法
- ArrayList与数组之间的转换
- java整数和byte数组之间的转换
- 关于数组和List之间相互转换的方法
- char字符串数组与string之间的转换,以及sizeof,strlen,length的区别
- 字节数组 整型 字符串 十六进制 字符 之间的转换
- NSString与char数组之间的转换
- C# 16进制与字符串、字节数组之间的转换
- ArrayList和数组之间的转换 .
- Collection转换为数组时的API使用不当
- QString和char字符串数组之间的转换 (转)
- java 字符串 字符数组 list之间的转换
- java json与数组之间的转换
- 深入 JAVA里面关于byte数组和String之间的转换问题
- 数组和集合之间的转换
- [java]关于数组和List之间相互转换的方法
- js中字符串和数组的之间的相互转换