当前位置: 首页 > news >正文

Java核心API——collection类的常见方法

1、数组与集合之间的转换

* 集合转换为数组
* Collection提供了一个方法toArray。可以将当前集合转换为一个数组
        Collection<String> array=new ArrayList<>();array.add("1");array.add("2");array.add("3");array.add("4");System.out.println(array);//        Object[] array = c.toArray();//返回对象数组不方便/*重载的toArray方法要求我们传入一个需要转换的数组长度通常与集合size一致即可。如果数组长度小于集合size,那么toArray方法内部会创建一个与该数组类型且与集合size等长的数组将其返回*/String[] array1 = array.toArray(new String[array.size()]);
//        String[] array = c.toArray(new String[0]);System.out.println(Arrays.toString(array1));for(String s:array){System.out.println(s);}

 

* 数组转为集合
* 数组的工具类Arrays提供了应该静态方法asList
* 可以讲数组转为一个List集合
        String array[] = {"11", "22", "33"};System.out.println("array:" + Arrays.toString(array));List<String> list = Arrays.asList(array);System.out.println("list" + list);/*asList方法内部:创建一个名为ArrayList的实例(注意,它不是java.util.ArrayList而是Arrays自己定义的一个内部类)。该实例会直接引用传入的数组。因此对该集合的操作就是对该数组的操作。*///注意,对集合元素的操作就是对原数组元素的操作list.set(2, "三");System.out.println("list" + list);System.out.println("array:" + Arrays.toString(array));//因为数组定长,所以试图改变长度的操作都是不支持的,会抛出不支持操作异常(add、remove都不行)//java.lang.UnsupportedOperationException//list.add("七");
//        System.out.println("list" + list);
//        System.out.println("array:" + Arrays.toString(array));
//        list.remove("三");
//        System.out.println("list" + list);
//        System.out.println("array:" + Arrays.toString(array));/*可以自行创建一个新集合,然后包含前面数组转换的集合,这样就可以随意的修改元素了且不会对原数组产生影响。*/// List<String> list2 = new ArrayList<>();// list2.addAll(list);List<String> list2=new ArrayList<>(list);list2.add("七");System.out.println("list2:"+list2);list2.remove("三");System.out.println("list2:"+list2);/*所有的集合都支持一种参数为Collection的构造器作用是在创建该集合的同时就包含参数传入的集合中所有元素List<String> list2 = new ArrayList<>(list);上面的实例化等同于:List<String> list2 = new ArrayList<>();list2.addAll(list);*/

 

 


http://www.mrgr.cn/news/14502.html

相关文章:

  • golang并发编程—— 并发模式
  • UI自动化测试的边界怎么定义?
  • 【秋招笔试】8.21华为秋招-三语言题解
  • PbootCMS程序安全设置建议
  • kafka操作
  • 海康二次开发学习笔记5-二次开发小技巧
  • C语言实现经典排序算法
  • Excel十进制度转为度分秒格式
  • 奇安信渗透测试岗位三面经验分享
  • JVM调优原理
  • 不同语言的转义字符
  • 最新高仿拼夕夕源码/拼单系统源码/拼单商城/类目功能齐全
  • 2024年“羊城杯”粤港澳大湾区网络安全大赛 MISC部分
  • 适用于 Visual Studio 的 C++ 万能头
  • SpringBoot集成kafka接收对象消息
  • 全程云OA UploadEditorFile接口存在任意文件上传漏洞 附POC
  • 【蓝桥杯青少组】第十五届省赛python(2024)
  • 排序题目:颜色分类
  • Android Webview 详解
  • 如何利用命令模式实现一个手游后端架构|命令模式|手游后端|架构设计