java實現(xiàn)列表、集合與數(shù)組之間轉(zhuǎn)化的方法
更新時間:2015年03月16日 11:13:12 作者:damaolly
這篇文章主要介紹了java實現(xiàn)列表、集合與數(shù)組之間轉(zhuǎn)化的方法,涉及java中列表、集合與數(shù)組相互轉(zhuǎn)換的技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了java實現(xiàn)列表、集合與數(shù)組之間轉(zhuǎn)化的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
package test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
// list.add(1);//會產(chǎn)生java.lang.ArrayStoreException異常
// 當(dāng)list中的數(shù)據(jù)類型都一致時可以將list轉(zhuǎn)化為數(shù)組
Object[] array = list.toArray();
System.out.println("從list轉(zhuǎn)換成的對象數(shù)組長度為:" + array.length);
// 在轉(zhuǎn)化為其它類型的數(shù)組時需要強制類型轉(zhuǎn)換,并且,要使用帶參數(shù)的toArray方法,參數(shù)為對象數(shù)組,
// 將list中的內(nèi)容放入?yún)?shù)數(shù)組中,當(dāng)參數(shù)數(shù)組的長度小于list的元素個數(shù)時,會自動擴充數(shù)組的長度以適應(yīng)list的長度
String[] array1 = (String[]) list.toArray(new String[0]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array1.length);
// 分配一個長度與list的長度相等的字符串?dāng)?shù)組
String[] array2 = (String[]) list.toArray(new String[list.size()]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array2.length);
list.clear();
// 將數(shù)組轉(zhuǎn)換成list
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
System.out.println("將數(shù)組轉(zhuǎn)換成list的元素個數(shù)為:" + list.size());
list.clear();
// 直接使用Arrays的asList方法
list = Arrays.asList(array);
System.out.println("將數(shù)組轉(zhuǎn)換成list的元素個數(shù)為:" + list.size());
Set set = new HashSet();
set.add("a");
set.add("b");
// 將set轉(zhuǎn)換為數(shù)組
array = set.toArray();
array1 = (String[]) set.toArray(new String[0]);
array2 = (String[]) set.toArray(new String[set.size()]);
System.out.println("從Set轉(zhuǎn)換成的對象數(shù)組長度為:" + array.length);
System.out.println("從Set轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array2.length);
// 數(shù)組轉(zhuǎn)換成Set
// 將數(shù)組轉(zhuǎn)換成List后,再用List構(gòu)造Set
set = new HashSet(Arrays.asList(array));
System.out.println("將數(shù)組轉(zhuǎn)換成Set的元素個數(shù)為:" + list.size());
// 將Set清空,然后把數(shù)組轉(zhuǎn)換成的list全部add
set.clear();
set.addAll(Arrays.asList(array1));
System.out.println("將數(shù)組轉(zhuǎn)換成Set的元素個數(shù)為:" + list.size());
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
// list.add(1);//會產(chǎn)生java.lang.ArrayStoreException異常
// 當(dāng)list中的數(shù)據(jù)類型都一致時可以將list轉(zhuǎn)化為數(shù)組
Object[] array = list.toArray();
System.out.println("從list轉(zhuǎn)換成的對象數(shù)組長度為:" + array.length);
// 在轉(zhuǎn)化為其它類型的數(shù)組時需要強制類型轉(zhuǎn)換,并且,要使用帶參數(shù)的toArray方法,參數(shù)為對象數(shù)組,
// 將list中的內(nèi)容放入?yún)?shù)數(shù)組中,當(dāng)參數(shù)數(shù)組的長度小于list的元素個數(shù)時,會自動擴充數(shù)組的長度以適應(yīng)list的長度
String[] array1 = (String[]) list.toArray(new String[0]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array1.length);
// 分配一個長度與list的長度相等的字符串?dāng)?shù)組
String[] array2 = (String[]) list.toArray(new String[list.size()]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array2.length);
list.clear();
// 將數(shù)組轉(zhuǎn)換成list
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
System.out.println("將數(shù)組轉(zhuǎn)換成list的元素個數(shù)為:" + list.size());
list.clear();
// 直接使用Arrays的asList方法
list = Arrays.asList(array);
System.out.println("將數(shù)組轉(zhuǎn)換成list的元素個數(shù)為:" + list.size());
Set set = new HashSet();
set.add("a");
set.add("b");
// 將set轉(zhuǎn)換為數(shù)組
array = set.toArray();
array1 = (String[]) set.toArray(new String[0]);
array2 = (String[]) set.toArray(new String[set.size()]);
System.out.println("從Set轉(zhuǎn)換成的對象數(shù)組長度為:" + array.length);
System.out.println("從Set轉(zhuǎn)換成的字符串?dāng)?shù)組長度為:" + array2.length);
// 數(shù)組轉(zhuǎn)換成Set
// 將數(shù)組轉(zhuǎn)換成List后,再用List構(gòu)造Set
set = new HashSet(Arrays.asList(array));
System.out.println("將數(shù)組轉(zhuǎn)換成Set的元素個數(shù)為:" + list.size());
// 將Set清空,然后把數(shù)組轉(zhuǎn)換成的list全部add
set.clear();
set.addAll(Arrays.asList(array1));
System.out.println("將數(shù)組轉(zhuǎn)換成Set的元素個數(shù)為:" + list.size());
}
}
希望本文所述對大家的java程序設(shè)計有所幫助。
相關(guān)文章
使用Java通過OAuth協(xié)議驗證發(fā)送微博的教程
這篇文章主要介紹了使用Java通過OAuth協(xié)議驗證發(fā)送微博的教程,使用到了新浪微博為Java開放的API weibo4j,需要的朋友可以參考下2016-02-02
Java編程中的防轉(zhuǎn)義和轉(zhuǎn)義技巧匯總
在編程過程中,我們常常需要處理特殊字符和特定上下文,以確保生成的內(nèi)容在正確的環(huán)境中能夠被解析和顯示,本文將介紹一些常見的防轉(zhuǎn)義或者轉(zhuǎn)義處理的編程技巧,需要的可以參考一下2023-07-07
SpringBoot中實現(xiàn)定時任務(wù)的幾種方式
定時任務(wù)在我們項目開發(fā)中也是很重要的,對于某些場景必須要用定時任務(wù)?,如定時發(fā)送郵件啊,定時統(tǒng)計數(shù)據(jù)等,這篇文章主要講講項目中實現(xiàn)定時任務(wù)的幾種方式,需要的朋友可以參考下2023-05-05
Java?Http請求方式之RestTemplate常用方法詳解
這篇文章主要為大家介紹了Java?Http請求方式之RestTemplate常用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09

