大家好,又见面了,我是你们的朋友全栈君。
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
1.List转换为数组
直接调用ArrayList中的toArray方法就可以实现。
List接口中,toArray有两个重载的方法:
Object[] toArray();
<T> T[] toArray(T[] a);
可见toArray可以用无入参的方式调用,返回一个Object数组;也可以用指定返回类型的方式调用,返回一个指定类型的数组。
@Test
public void test() {
List<Object> rawList = new ArrayList();
rawList.add("0");
rawList.add("1");
String[] arr = rawList.toArray(new String[rawList.size()]);
for(String each:arr) {
System.out.println(each);
}
}
2.数组转换为List
如果需要将数组转为List,只需要使用Arrays.asList方法即可。
@Test
public void t5() {
String[] arr = {"a","b","c"};
List<String> list = Arrays.asList(arr);
list.forEach(x -> System.out.println(x));
}
需要注意的是,asList方法是利用传入参数的类型去创建一个数组,本质上还是一个只是实现了集合的如下方法(size()、toArray()、toArray(T[])、get(int)、set(int,E)、indexOf(Object)、contains(Object))的数组,所以用asList()装换成的集合,只能使用如上方法,如果使用其他方法如: add(E),系统将会抛Java.lang.UnsupportedOperationException(不支持请求的操作)的异常。
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
/**
* @serial include
*/
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150460.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...