首页 > 编程语言 >Java核心API——collection类的常见方法

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

时间:2024-08-22 23:25:49浏览次数:14  
标签:Java list System collection list2 API println array out

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);
         */

 

 

标签:Java,list,System,collection,list2,API,println,array,out
From: https://blog.csdn.net/qishuang6/article/details/141440270

相关文章

  • 【15】Java字节码
    Java方法栈帧的组成:操作数栈+局部变量表操作数栈Java字节码是Java虚拟机所使用的的指令集。它与JVM基于栈的计算模型是分不开的。在解释执行过程中,每当为Java方法分配栈桢时,Java虚拟机往往需要开辟一块额外的空间作为操作数栈,来存放计算的操作数以及返回结果。执行......
  • Java学习笔记5—数据库日志文件
    1.slowlog慢SQL记录2.binlog*记录数据库执行的写操作(不包括查询)信息,以二进制的形式保存在磁盘中。使用场景:主从复制(在Master端开启binlog,然后将binlog发送到各个Slave端,Slave端重放binlog来达到主从数据一致。)和数据恢复(mysqlbinlog)binlog日志有三种格式,分......
  • HtmlUnit:自动化操作web页面的java工具
    java有httpclient等工具,可以模拟进行一些web操作,但一些逻辑是在前端js中执行的,此时httpclient就比较困难了。此时可以考虑使用HtmlUnit,模拟出一个浏览器,全程在浏览器中操作。 本文以在百度中输入搜索关键字->点击“百度一下”按钮->打印搜索结果这一过程为例,演示HtmlUnit的......
  • Javaweb+jsp外卖点餐系统+源码(三)
    第三章详细设计3.1 用户的主界面用户的主菜单界面。页面如图3-1所示:图3-1 用户的主界面3.2用户注册页面用户在首次登录外卖订餐系统管理页面时,需要在注册页面需要完成个人信息的注册。页面如图3-2所示:图3-2外卖订餐系统的注册页面3.3用户登录界面用户通......
  • 为什么java找工作难?java饱和了吗?
    在开始前我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级学习路线规划图」提升技术才是王道!限于文章篇幅原因,就不一一展示了,有需要的小伙伴扫码添加小助理获取!!24年初,当下java程序员的需求情况是,零项目经验的求职者难找工作,只能证明自己做过增......
  • JavaScript 的 标签
    标签标签在JavaScript中不是一个常见的特性,但在某些情况下,它们可以用于改善循环的可读性或退出嵌套循环。//使用标签来标识循环loop1:for(leti=0;i<10;i++){//循环1loop2:for(letj=0;j<10;j++){//循环2if(i===2&&j===2){......
  • WebAPI中写单元测试
    首次在WebAPI中写单元测试xUnit这次我使用的是xUnit测试框架,而不是VS自带的MSTest框架。在添加新建项目时选择xUnit测试项目就行了。目前只体验到了一个差别,即xUnit可以使用特性向测试方法传参,而不用在测试方法中一个赋值语句一个个去定义参数,这是比较方便的。单元测试有一个......
  • JAVA IO流-小白版
    I/O流原理I/O是Input/Output的缩写,I/O流技术是非常实用的技术,用于处理数据传输。如读/写文件,网络通讯等;Java中对于数据的输入/输出操作以"流(stream)"的方式进行;Java.io包下提供了各种"流"类和接口,用以获取不同种类的数据,并通过方法输入或输出数据;输入input:读取外部......
  • 深入理解 Java 中 ArrayList 的底层原理
    在这篇博客中,我们将深入探讨ArrayList的底层实现原理,并通过逐步剖析ArrayList的源码来理解其内部工作机制。我们将重点关注ArrayList的创建、元素添加、扩容机制等关键点。创建ArrayList集合对象ArrayList<String>list=newArrayList<>();使用空参构造器创建ArrayList集合......
  • [Java手撕]线程安全的转账
    首先来看线程不安全的转账publicclassBank{privateint[]accounts;publicBank(){this.accounts=newint[10];for(inti=0;i<10;i++){accounts[i]=1000;}}publicvoidtransfer(intfrom,int......