java实现列表、集合与数组之间转化的方法
作者:damaolly 时间:2023-11-29 10:17:38
本文实例讲述了java实现列表、集合与数组之间转化的方法。分享给大家供大家参考。具体实现方法如下:
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);//会产生java.lang.ArrayStoreException异常
// 当list中的数据类型都一致时可以将list转化为数组
Object[] array = list.toArray();
System.out.println("从list转换成的对象数组长度为:" + array.length);
// 在转化为其它类型的数组时需要强制类型转换,并且,要使用带参数的toArray方法,参数为对象数组,
// 将list中的内容放入参数数组中,当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度
String[] array1 = (String[]) list.toArray(new String[0]);
System.out.println("从list转换成的字符串数组长度为:" + array1.length);
// 分配一个长度与list的长度相等的字符串数组
String[] array2 = (String[]) list.toArray(new String[list.size()]);
System.out.println("从list转换成的字符串数组长度为:" + array2.length);
list.clear();
// 将数组转换成list
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
System.out.println("将数组转换成list的元素个数为:" + list.size());
list.clear();
// 直接使用Arrays的asList方法
list = Arrays.asList(array);
System.out.println("将数组转换成list的元素个数为:" + list.size());
Set set = new HashSet();
set.add("a");
set.add("b");
// 将set转换为数组
array = set.toArray();
array1 = (String[]) set.toArray(new String[0]);
array2 = (String[]) set.toArray(new String[set.size()]);
System.out.println("从Set转换成的对象数组长度为:" + array.length);
System.out.println("从Set转换成的字符串数组长度为:" + array2.length);
// 数组转换成Set
// 将数组转换成List后,再用List构造Set
set = new HashSet(Arrays.asList(array));
System.out.println("将数组转换成Set的元素个数为:" + list.size());
// 将Set清空,然后把数组转换成的list全部add
set.clear();
set.addAll(Arrays.asList(array1));
System.out.println("将数组转换成Set的元素个数为:" + list.size());
}
}
希望本文所述对大家的java程序设计有所帮助。
标签:java,列表,集合,数组,转化
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
WPF实现3D翻牌式倒计时特效
2021-11-11 16:08:21
![](https://img.aspxhome.com/file/2023/0/87050_0s.gif)
Android中butterknife的使用与自动化查找组件插件详解
2021-09-18 06:58:36
![](https://img.aspxhome.com/file/2023/3/137713_0s.jpg)
WinForm中的几个实用技巧汇总
2022-08-12 13:17:02
Android获取当前已连接的wifi信号强度的方法
2023-06-21 22:11:45
Java关键字instanceof用法及实现策略
2023-09-23 06:05:38
![](https://img.aspxhome.com/file/2023/0/58560_0s.png)
解决EditText不显示光标的三种方法(总结)
2023-09-19 08:05:10
Java递归基础与递归的宏观语意实例分析
2021-06-24 09:33:10
![](https://img.aspxhome.com/file/2023/7/116227_0s.png)
proguar在Android混淆中的用法
2021-10-01 01:12:12
Android使用MediaRecorder实现录音及播放
2021-09-10 00:46:41
Compose开发之动画艺术探索及实现示例
2023-09-13 04:16:16
java基础--JDK SPI概述
2021-09-19 11:50:16
![](https://img.aspxhome.com/file/2023/0/100060_0s.png)
Java-JFrame窗体美化方式
2022-08-17 10:07:38
![](https://img.aspxhome.com/file/2023/7/74877_0s.jpg)
如何使用BufferedReader循环读文件
2022-04-20 17:32:23
![](https://img.aspxhome.com/file/2023/4/84174_0s.png)
利用Android中BitmapShader制作自带边框的圆形头像
2021-12-25 20:09:11
![](https://img.aspxhome.com/file/2023/0/92580_0s.png)
Java网络通信中ServerSocket的设计优化方案
2023-06-14 08:25:53
java用applet画图用到的方法(涉及双缓冲)
2021-07-09 17:27:32
汉字转拼音缩写示例代码(Silverlight和.NET 将汉字转换成为拼音)
2023-01-18 10:29:45
详解Java回环屏障CyclicBarrier
2022-08-30 15:02:09
![](https://img.aspxhome.com/file/2023/9/76219_0s.png)
如何获取Android设备挂载的所有存储器
2023-08-16 12:44:41
Android Insets相关知识总结
2023-04-24 09:08:23
![](https://img.aspxhome.com/file/2023/5/109155_0s.png)