Java 集合转换(数组、List、Set、Map相互转换)

package com.example.test;  
  
import java.util.ArrayList;  
import java.util.Arrays;  
import java.util.HashMap;  
import java.util.HashSet;  
import java.util.List;  
import java.util.Map;  
import java.util.Set;  
  
public class ConvertorTest {  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
          
        testList2Array();  
        testArray2List();  
        testSet2List();  
        testList2Set();  
        testSet2Array();  
        testArray2Set();  
        testMap2Set();  
        testMap2List();  
    }  
  
    private static void testMap2List() {  
          
        Map<String, String> map = new HashMap<String, String>();    
        map.put("A", "ABC");    
        map.put("K", "KK");    
        map.put("L", "LV");    
          
        // 将Map Key 转化为List      
        List<String> mapKeyList = new ArrayList<String>(map.keySet());    
        System.out.println("mapKeyList:"+mapKeyList);  
          
        // 将Map Key 转化为List      
        List<String> mapValuesList = new ArrayList<String>(map.values());    
        System.out.println("mapValuesList:"+mapValuesList);  
          
    }  
  
    private static void testMap2Set() {  
          
        Map<String, String> map = new HashMap<String, String>();    
        map.put("A", "ABC");    
        map.put("K", "KK");    
        map.put("L", "LV");    
          
        // 将Map 的键转化为Set      
        Set<String> mapKeySet = map.keySet();    
        System.out.println("mapKeySet:"+mapKeySet);  
          
        // 将Map 的值转化为Set      
        Set<String> mapValuesSet = new HashSet<String>(map.values());    
        System.out.println("mapValuesSet:"+mapValuesSet);  
    }  
  
    private static void testArray2Set() {  
          
        String[] arr = {"AA","BB","DD","CC","BB"};    
          
        //数组-->Set    
        Set<String> set = new HashSet<String>(Arrays.asList(arr));    
        System.out.println(set);    
    }  
  
    private static void testSet2Array() {  
        Set<String> set = new HashSet<String>();  
        set.add("AA");  
        set.add("BB");  
        set.add("CC");  
          
        String[] arr = new String[set.size()];    
        //Set-->数组    
        set.toArray(arr);   
        System.out.println(Arrays.toString(arr));    
    }  
  
    private static void testList2Set() {  
            
        List<String> list = new ArrayList<String>();  
        list.add("ABC");  
        list.add("EFG");  
        list.add("LMN");  
        list.add("LMN");  
          
        //List-->Set  
        Set<String> listSet = new HashSet<String>(list);  
        System.out.println(listSet);  
    }  
  
    private static void testSet2List() {  
           
        Set<String> set = new HashSet<String>();  
        set.add("AA");  
        set.add("BB");  
        set.add("CC");  
          
        //Set --> List  
        List<String> setList = new ArrayList<String>(set);  
        System.out.println(setList);    
    }  
  
    private static void testList2Array() {  
        //List-->数组    
        List<String> list = new ArrayList<String>();    
        list.add("AA");    
        list.add("BB");    
        list.add("CC");    
        Object[] objects = list.toArray();//返回Object数组    
        System.out.println("objects:"+Arrays.toString(objects));    
          
        String[] arr = new String[list.size()];    
        list.toArray(arr);//将转化后的数组放入已经创建好的对象中    
        System.out.println("strings1:"+Arrays.toString(arr));    
    }  
      
    private static void testArray2List() {  
        //数组-->List    
        String[] ss = {"JJ","KK"};    
        List<String> list1 = Arrays.asList(ss);    
        List<String> list2 = Arrays.asList("AAA","BBB");    
        System.out.println(list1);    
        System.out.println(list2);    
    }  
  
}  

 

posted @ 2017-02-15 09:55  syxsdhy  阅读(222)  评论(0编辑  收藏  举报