我是靠谱客的博主 干净眼睛,最近开发中收集的这篇文章主要介绍java中list和数组的相互转换的多种方式1. 数组->list2. list->数组l,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
java中list和数组的相互转换
- 1. 数组->list
- 方法一:使用for循环把数组元素加进list
- 方法二:直接使用Arrays工具类下的asList()方法
- 方法三:用ArrayList的构造方法和Arrays工具类下的asList()方法
- 方法四:使用Collections.addAll()
- 方法五:使用Stream中的Collector收集器
- 2. list->数组l
- 方法一:使用for循环
- 方法一:使用for循环
- 方法二:使用toArray()方法
1. 数组->list
方法一:使用for循环把数组元素加进list
public void test3(){
//方法一:使用for循环把数组元素加进list
String[] strings = {"aaa","bbb","ccc"};
List<String> list = new ArrayList<String>();
for (int i = 0; i <strings.length ; i++) {
list.add(strings[i]);
}
System.out.println(list);
}
方法二:直接使用Arrays工具类下的asList()方法
public void test3(){
//方法二:直接使用Arrays工具类下的asList()方法
//这不是最好的,asList()返回的列表的大小是固定的。
//事实上,返回的列表不是java.util.ArrayList类,而是定义在java.util.Arrays中一个私有静态类java.util.Arrays.ArrayList
//我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。
//这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。
//java.util.Arrays.ArrayList类具有 set(),get(),contains()等方法,但是不具有添加add()或删除remove()方法,所以调用add()方法会报错
String[] strings = {"aaa","bbb","ccc"};
List<String> list = Arrays.asList(strings);
//stringList.add("ddd");
System.out.println(list);
}
方法三:用ArrayList的构造方法和Arrays工具类下的asList()方法
public void test3(){
//方法三:用ArrayList的构造方法和Arrays工具类下的asList()方法
String[] strings = {"aaa","bbb","ccc"};
List<String> list = new ArrayList<String>(Arrays.asList(strings));
list.add("ddd");
System.out.println(list);
}
方法四:使用Collections.addAll()
public void test3(){
//方法四:使用Collections.addAll()
String[] strings = {"aaa","bbb","ccc"};
List<String> list = new ArrayList<String>();
Collections.addAll(list, strings);
list.add("ddd");
System.out.println(list);
}
方法五:使用Stream中的Collector收集器
public void test3(){
//方法五:使用Stream中的Collector收集器
String[] strings = {"aaa", "bbb", "ccc"};
List<String> list = Stream.of(strings).collect(Collectors.toList());
list.add("ddd");
System.out.println(list);
}
2. list->数组l
方法一:使用for循环
public void test3(){
//方法一:使用for循环
List<String> list = new ArrayList<String>(Arrays.asList("aaa", "bbb", "ccc"));
String[] strings = new String[list.size()];
for (int i = 0; i <list.size() ; i++) {
strings[i]=list.get(i);
}
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
}
方法一:使用for循环
public void test3(){
//方法一:使用for循环
List<String> list = new ArrayList<String>(Arrays.asList("aaa", "bbb", "ccc"));
String[] strings = new String[list.size()];
for (int i = 0; i <list.size() ; i++) {
strings[i]=list.get(i);
}
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
}
方法二:使用toArray()方法
public void test3(){
//方法二:使用toArray()方法
List<String> list = new ArrayList<String>(Arrays.asList("aaa", "bbb", "ccc"));
String[] strings = list.toArray(new String[list.size()]);
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
//错误方式:list.toArray()返回的是Object[]数组,无法转型为String,会报类型转换异常
//ArrayList<String> list3=new ArrayList<String>();
//String strings[]=(String [])list.toArray();
}
最后
以上就是干净眼睛为你收集整理的java中list和数组的相互转换的多种方式1. 数组->list2. list->数组l的全部内容,希望文章能够帮你解决java中list和数组的相互转换的多种方式1. 数组->list2. list->数组l所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复