zoukankan      html  css  js  c++  java
  • 列表、集合与数组之间相互转换

      1 package com.jdk7.chapter4;
      2 
      3 import java.util.ArrayList;
      4 import java.util.Arrays;
      5 import java.util.HashSet;
      6 import java.util.Iterator;
      7 import java.util.List;
      8 import java.util.Set;
      9 
     10 /**
     11  * List和Set转换为数组,使用List的toArray方法转换为Object[],如果List/Set中元素都为同一个数据类型A,则可以转换为A[],具体方法为"(A[])new A[0]"
     12  * 数组转换为List,使用Arrays的asList方法
     13  * 数组转换为Set分两步,第一步将数组转换为List,再将List作为带参的Set构造函数
     14  * @author Administrator
     15  *
     16  */
     17 public class ArrayCollectionTest {
     18     public static void printList(List list){
     19         if(list==null){
     20             System.out.println("列表不能为空");
     21         }
     22         System.out.print("列表展示为: ");
     23         for(int i=0;i<list.size();i++){
     24             System.out.print(list.get(i)+" ");
     25         }
     26         System.out.println();
     27     }
     28     
     29     public static void printSet(Set set){
     30         if(set==null){
     31             System.out.println("集合不能为空");
     32         }
     33         Iterator it = set.iterator();
     34         System.out.print("集合展示为: ");
     35         while(it.hasNext()){
     36             System.out.print(it.next()+" ");
     37         }
     38         System.out.println();
     39     }
     40     
     41     public static String printArray(Object[] obj){
     42         if(obj==null){
     43             System.out.println("array is empty!");
     44             return null;
     45         }
     46         StringBuffer sb = new StringBuffer(" ");
     47         for(int i=0;i<obj.length;i++){
     48             sb.append(obj[i]).append(" ");
     49         }
     50         sb.append("
    ");
     51         return sb.toString();
     52     }
     53     
     54     public static void main(String[] args) {
     55         ArrayCollectionTest act = new ArrayCollectionTest();
     56         List list = new ArrayList();
     57         list.add("ssss");
     58         list.add("ffff");
     59         list.add("2222");
     60         list.add("kkkk");
     61         Object[] array1 = list.toArray();
     62         System.out.println("列表转换为数组后为>"+act.printArray(array1));
     63         Object[] array2 = (String[])list.toArray(new String[0]);
     64         System.out.println("列表转换为元素类型数组后为>"+act.printArray(array2));
     65         
     66         System.out.print("数组转换为List后>");
     67         List list1 = Arrays.asList(array1);
     68         act.printList(list1);
     69         System.out.print("清空后的List为>");
     70         list.clear();
     71         act.printList(list);
     72         System.out.print("添加由List转换为数组后的List为>");
     73         for(int i=0;i<array1.length;i++){
     74             list.add(array1[i]);
     75         }
     76         act.printList(list);
     77         
     78         Set set = new HashSet();
     79         set.add("jjjj");
     80         set.add("rrrr");
     81         set.add("kkkk");
     82         set.add("oooo");
     83         Object[] array3 = set.toArray();
     84         System.out.println("集合转换为数组后为>"+act.printArray(array3));
     85         Object[] array4 = set.toArray((String[])new String[0]);
     86         System.out.println("集合转换为集合元素类型数组后>"+act.printArray(array4));
     87         
     88         System.out.print("数组转换为Set,首先将数组转换为List,再将List作为带参的Set构造函数>");
     89         act.printSet(new HashSet(Arrays.asList(array3)));
     90         
     91         System.out.print("清空后集合为>");
     92         set.clear();
     93         act.printSet(set);
     94         System.out.print("添加由数组转换后的List后集合为>");
     95         set.addAll(list1);
     96         act.printSet(set);
     97     }
     98 }
     99 
    100 执行结果:
    101 列表转换为数组后为> ssss ffff 2222 kkkk 
    102 
    103 列表转换为元素类型数组后为> ssss ffff 2222 kkkk 
    104 
    105 数组转换为List后>列表展示为: ssss ffff 2222 kkkk 
    106 清空后的List为>列表展示为: 
    107 添加由List转换为数组后的List为>列表展示为: ssss ffff 2222 kkkk 
    108 集合转换为数组后为> jjjj oooo rrrr kkkk 
    109 
    110 集合转换为集合元素类型数组后> jjjj oooo rrrr kkkk 
    111 
    112 数组转换为Set,首先将数组转换为List,再将List作为带参的Set构造函数>集合展示为: jjjj oooo rrrr kkkk 
    113 清空后集合为>集合展示为: 
    114 添加由数组转换后的List后集合为>集合展示为: 2222 ssss kkkk ffff 
  • 相关阅读:
    分页
    【移动】
    iOS
    内存数据库
    HOJ——T 2275 Number sequence
    HOJ——T 1867 经理的烦恼
    HOJ——T 2430 Counting the algorithms
    洛谷—— P2047 社交网络
    HDU——T 1166 敌兵布阵
    前端学习之jquery
  • 原文地址:https://www.cnblogs.com/celine/p/8457567.html
Copyright © 2011-2022 走看看