package com.net.xinfang.reflect;
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;
/***
* Array、Set、List、Map相互转换
* @author xinfang
*
*/
public class ConvertorTest {
/**
* @param args
*/
public static void main(String[] args) {
testList2Array();//List-Array
testArray2List();//Array-List
testSet2List();//Set-List
testList2Set();//List-Set
testSet2Array();//Set-Array
testArray2Set();//Array-Set
testMap2Set();//Map-Set
testMap2List();//Map-List
}
private static void testMap2List() {
Map map = new HashMap();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV");
// 将Map Key 转化为List
List mapKeyList = new ArrayList(map.keySet());
System.out.println("mapKeyList:" + mapKeyList);
// 将Map Key 转化为List
List mapValuesList = new ArrayList(map.values());
System.out.println("mapValuesList:" + mapValuesList);
}
private static void testMap2Set() {
Map map = new HashMap();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV");
// 将Map 的键转化为Set
Set mapKeySet = map.keySet();
System.out.println("mapKeySet:" + mapKeySet);
// 将Map 的值转化为Set
Set mapValuesSet = new HashSet(map.values());
System.out.println("mapValuesSet:" + mapValuesSet);
}
private static void testArray2Set() {
String[] arr = { "AA", "BB", "DD", "CC", "BB" };
// 数组-->Set
Set set = new HashSet(Arrays.asList(arr));
System.out.println(set);
}
private static void testSet2Array() {
Set set = new HashSet();
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 list = new ArrayList();
list.add("ABC");
list.add("EFG");
list.add("LMN");
list.add("LMN");
// List-->Set
Set listSet = new HashSet(list);
System.out.println(listSet);
}
private static void testSet2List() {
Set set = new HashSet();
set.add("AA");
set.add("BB");
set.add("CC");
// Set --> List
List setList = new ArrayList(set);
System.out.println(setList);
}
private static void testList2Array() {
// List-->数组
List list = new ArrayList();
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 list1 = Arrays.asList(ss);
List list2 = Arrays.asList("AAA", "BBB");
System.out.println(list1);
System.out.println(list2);
}
}