java中Set、List和數組互相轉換
public class ArraysTest {
/**
* 數組轉List
* @param arrays
* @return
*/
private static List arraysToList(Object[] arrays) {
return Arrays.asList(arrays); // 返回一個固定長度的list,不可add和remove,否則會報java.lang.UnsupportedOperationException
// 如果想要返回可變列表,則需要將數組裏的元素遍歷加到List中
/*List list = new ArrayList();
if (arrays != null && arrays.length > 0) {
for (Object obj : arrays) {
list.add(obj);
}
}
return list;*/
}
/**
* 數組轉set
* @param arrays
* @return
*/
private static Set arraysToSet(Object[] arrays) {
return new HashSet(Arrays.asList(arrays)); // 先轉成list,再通過HashSet構造出Set
}
/**
* list轉數組
* @param list
* @return
*/
private static Object[] listToArrays(List list) {
return list.toArray();
}
/**
* list轉set
* @param list
* @return
*/
private static Set listToSet(List list) {
return new HashSet(list);
}
/**
* set轉數組
* @param set
* @return
*/
private static Object[] setToArray(Set set) {
return set.toArray();
}
/**
* set轉List
* @param set
* @return
*/
private static List setToList(Set set) {
return new ArrayList(set);
}
public static void main(String[] args) {
String[] strArrays = new String[]{"csdn", "ddp", "Roman", "ForEver"};
List list1 = arraysToList(strArrays);
Set set = arraysToSet(strArrays);
Object[] objArrays = listToArrays(list1);
Set set1 = listToSet(list1);
Object[] objectArrays2 = setToArray(set1);
List list2 = setToList(set1);
System.out.println("sss");
}
private static void printList(List list) {
if (list != null && list.size() > 0) {
for (Object obj : list) {
System.out.println(obj.toString());
}
}
}
}