1. 程式人生 > 實用技巧 >JAVA-常用集合型別轉換例子

JAVA-常用集合型別轉換例子

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相互轉換
 *
 */
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<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);
	}

}