java int[]如何转换成ArrayList
2021/9/14 20:05:14
本文主要是介绍java int[]如何转换成ArrayList,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
气死,,头一次被这东西气成这样,数组和集合的转换,是不一样的!!!!!!很狗!
public void fun(){ int num[] = {1,2,3}; List<Integer> list = Arrays.asList(num); list.forEach(c-> System.out.print(c+" ")); String str[] = {"1","2","3"}; List<String> list1 = Arrays.asList(str); list1.forEach(c-> System.out.print(c+" ")); }
看起来是不是很对??是不是很优秀,是不是都对,,我学java大二开始一直到现在,,一直以为数组及转换集合就是这么转换的。。。。。
感觉自己像个白痴,日了,上面的代码只有String的数组转换集合是对的,只有他是对的,,int根本就不对,我也是做了好久的题才感觉不对劲,很迷惑,我也不知道为啥他就不对了,,
我搜了一下,大概是这样的,这一部分的底层源码是这样的(显一下B格):
* @param <T> the class of the objects in the array * @param a the array by which the list will be backed * @return a list view of the specified array */ @SafeVarargs @SuppressWarnings("varargs") public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }
说实话,,我没看懂,英语四级都没过,,我翻译都费劲,但是看这个大哥哥的博客我大概是看懂了https://blog.csdn.net/m0_37450089/article/details/80297639,看到这个文章的可以直接去看他的博客了,,我一大学生写的没啥营养
抱怨完了,接下来记录一下数组对List的转换:
首先是数组转换成集合
我只写常用的奥
基本类型转换,jdk8中是这样的:
public void fun(){ int num[] = {1,2,3}; List<Integer> list = Arrays.stream(num).boxed().collect(Collectors.toList()); list.forEach(c-> System.out.print(c+" ")); String str[] = {"1","2","3"}; List<String> list1 = Arrays.asList(str); list1.forEach(c-> System.out.print(c+" ")); }
就是大概意思我觉得吧,,就是先转换成stream,前面咱定义的泛型不是包装类Integer嘛,那我们总不能直接写基本类型,所以我们得调用boxed方法进行装箱,形成Integer,然后再调用最后一个方法,就转换成功了,至于那个String类型,他是个引用类型,他不叫基本数据类型啊,那他就可以直接转,具体咋回事,估计我以后会知道,等我四级过了吧
然后是集合转换成数组:
public void fun2(){ List<Integer> list = new ArrayList(){{ for(int i=0 ; i<10 ; i++){ add(i); } }}; int num[] = list.stream().mapToInt(Integer::valueOf).toArray(); List<String> list1 = new ArrayList<String>(){{ for(int i=0 ; i<10 ; i++){ add(String.valueOf(i)); } }}; String str[] = list1.toArray(new String[0]); for (int i=0 ; i<list1.size() ; i++){ System.out.print(str[i]+" "); } }
大概就是这个样子,,我暂时还整不明白为啥,慢慢学吧,总归要先记住。
这篇关于java int[]如何转换成ArrayList的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署