数组与List的相互转换
数组与List的相互转换
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); }
数组转换为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
————————————————
原文链接:https://blog.csdn.net/bitcarmanlee/article/details/71079468
分类:
Java基础知识大杂烩
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)