java實(shí)現(xiàn)列表、集合與數(shù)組之間轉(zhuǎn)化的方法
本文實(shí)例講述了java實(shí)現(xiàn)列表、集合與數(shù)組之間轉(zhuǎn)化的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
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);//會(huì)產(chǎn)生java.lang.ArrayStoreException異常
// 當(dāng)list中的數(shù)據(jù)類(lèi)型都一致時(shí)可以將list轉(zhuǎn)化為數(shù)組
Object[] array = list.toArray();
System.out.println("從list轉(zhuǎn)換成的對(duì)象數(shù)組長(zhǎng)度為:" + array.length);
// 在轉(zhuǎn)化為其它類(lèi)型的數(shù)組時(shí)需要強(qiáng)制類(lèi)型轉(zhuǎn)換,并且,要使用帶參數(shù)的toArray方法,參數(shù)為對(duì)象數(shù)組,
// 將list中的內(nèi)容放入?yún)?shù)數(shù)組中,當(dāng)參數(shù)數(shù)組的長(zhǎng)度小于list的元素個(gè)數(shù)時(shí),會(huì)自動(dòng)擴(kuò)充數(shù)組的長(zhǎng)度以適應(yīng)list的長(zhǎng)度
String[] array1 = (String[]) list.toArray(new String[0]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長(zhǎng)度為:" + array1.length);
// 分配一個(gè)長(zhǎng)度與list的長(zhǎng)度相等的字符串?dāng)?shù)組
String[] array2 = (String[]) list.toArray(new String[list.size()]);
System.out.println("從list轉(zhuǎn)換成的字符串?dāng)?shù)組長(zhǎng)度為:" + 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的元素個(gè)數(shù)為:" + list.size());
list.clear();
// 直接使用Arrays的asList方法
list = Arrays.asList(array);
System.out.println("將數(shù)組轉(zhuǎn)換成list的元素個(gè)數(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)換成的對(duì)象數(shù)組長(zhǎng)度為:" + array.length);
System.out.println("從Set轉(zhuǎn)換成的字符串?dāng)?shù)組長(zhǎng)度為:" + 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的元素個(gè)數(shù)為:" + list.size());
// 將Set清空,然后把數(shù)組轉(zhuǎn)換成的list全部add
set.clear();
set.addAll(Arrays.asList(array1));
System.out.println("將數(shù)組轉(zhuǎn)換成Set的元素個(gè)數(shù)為:" + list.size());
}
}
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Java中增強(qiáng)for循環(huán)在一維數(shù)組和二維數(shù)組中的使用方法
下面小編就為大家?guī)?lái)一篇Java中增強(qiáng)for循環(huán)在一維數(shù)組和二維數(shù)組中的使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10Java序列化和反序列化_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
把對(duì)象轉(zhuǎn)換為字節(jié)序列的過(guò)程稱為對(duì)象的序列化,把字節(jié)序列恢復(fù)為對(duì)象的過(guò)程稱為對(duì)象的反序列化。接下來(lái)通過(guò)本文給大家介紹Java序列化和反序列化及主要的兩種用途,感興趣的的友參考下吧2017-05-05SpringBoot中使用Quartz管理定時(shí)任務(wù)的方法
這篇文章主要介紹了SpringBoot中使用Quartz管理定時(shí)任務(wù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09使用Spring?AOP實(shí)現(xiàn)用戶操作日志功能
這篇文章主要介紹了使用Spring?AOP實(shí)現(xiàn)了用戶操作日志功能,功能實(shí)現(xiàn)需要一張記錄日志的log表,結(jié)合示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天
這篇文章主要為大家詳細(xì)介紹了Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07SpringCloud+RocketMQ實(shí)現(xiàn)分布式事務(wù)的實(shí)踐
分布式事務(wù)已經(jīng)成為了我們的經(jīng)常使用的。所以我們來(lái)一步一步的實(shí)現(xiàn)基于RocketMQ的分布式事務(wù)。感興趣的可以了解一下2021-10-10Java Swing中的JButton、JComboBox、JList和JColorChooser組件使用案例
這篇文章主要介紹了Java Swing中的按鈕(JButton)、組合框(JComboBox)、下拉列表(JList)和顏色選擇器(JColorChooser)組件使用案例,需要的朋友可以參考下2014-10-10