首页 > 其他分享 >Day25--arrays类

Day25--arrays类

时间:2024-10-30 18:10:53浏览次数:1  
标签:Arrays Day25 System -- toString 数组 arrays println out

Day25--arrays类

Arrays 类

Arrays 类是数组的工具类,位于 java.util.Arrays。

由于数组对象本身没有很多方法可供调用,API 中提供了 Arrays 工具类以供使用,可对数组对象进行一些基本操作。

Arrays 类中的方法都是 static 修饰的静态方法,使用时可直接用类名调用(是 “不用” 而不是不能通过对象调用)。具有以下常用功能:

  1. 给数组赋值:通过 fill 方法。
  2. 对数组排序:通过 sort 方法,按升序。
  3. 比较数组:通过 equals 方法比较数组中元素值是否相等。
  4. 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

在代码里输入Arrays,回车,就引入了arrays的工具包

image-20241030172349331

选中Arrays--ctrl---Arrays类的源码--structure--arrays的方法

1.Arrays.toString

打印数组元素:

//打印数组元素
            int[] a={1,2,3,4,9090,31231,543,21,3,23};
            System.out.println(a);//[I@10f87f48
            //不能直接输入a来打印数组元素
            System.out.println("++++++++++++++++++++++++++++++++++++++++++");
            //Arrays.     用Arrays的方法
            //Arrays.toString   打印数组元素
            System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 9090, 31231, 543, 21, 3, 23]
            System.out.println("++++++++++++++++++++++++++++++++++++++++++");
           printArray(a);
    }
    
    //写方法:输出每个元素加【】
    //重复造轮子:已经有的方法,我们不用再造方法了。我们下面的只是说明,系统自带的方法我们也可以写出来的
    public static void printArray(int[] a){
        System.out.print("[");
        for (int i = 0; i < a.length; i++) {
            if(i==a.length-1){
                System.out.print(a[i]);
            }else{
                System.out.print(a[i]+", ");
            }
        }
        System.out.print("]");
    }

2.append:

用于在字符串末尾添加字符或字符串

示例:

StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString()); //Hello World
StringBuffer sbf = new StringBuffer();
sbf.append(123);
sbf.append('!');
System.out.println(sbf.toString()); //123!

深度理解:与其他类似操作的区别

  • String
    

    +
    

    操作符的区别

    • 使用+操作符连接字符串在 Java 中虽然方便,但在大量字符串拼接的情况下效率较低,因为每次+操作都会创建新的String对象。而StringBuilderStringBufferappend方法是在原对象上进行操作,避免了频繁创建新对象的开销。
  • List
    

    集合的

    add
    

    方法的区别

    • List集合的add方法是用于向列表中添加元素,列表中的元素可以是各种对象类型。而StringBuilderStringBufferappend方法是专门用于构建字符串,添加的内容最终会组成一个连续的字符串。

3.Arrays.sort()

数组进行排序(升序)

//数组进行排序
            int[] a={1,2,3,4,9090,31231,543,21,3,23};
            Arrays.sort(a);//数组进行排序: 升序
            Arrays.toString(a);//打印数组元素
            System.out.println(Arrays.toString(a));//输出排完序后的a   [1, 2, 3, 3, 4, 21, 23, 543, 9090, 31231]

4.Arrays.fill

数组填充

//3.数组填充
        int[] a={1,2,3,4,9090,31231,543,21,3,23};
        Arrays.fill(a,0);//用0代替a数组里面的每一个元素
        System.out.println(Arrays.toString(a));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
//3.数组填充
        int[] a={1, 2, 3, 3, 4, 21, 23, 543, 9090, 31231};
        Arrays.fill(a,2,4,0);//Arrays.fill(a,2,4,0)   a数组里面的下标2、3元素被0代替
        System.out.println(Arrays.toString(a));//[1, 2, 0, 0, 4, 21, 23, 543, 9090, 31231]

fill类型讲解:

public static void fill (byte [] byte val) 将指定的字节值分配给指定字节数组的每个元素。
参数;
a - 要填充的数组
val - 要存储在数组的所有元素中的值

标签:Arrays,Day25,System,--,toString,数组,arrays,println,out
From: https://www.cnblogs.com/xiaokunzhong/p/18516325

相关文章

  • 集群渲染是一台节点输出吗?它是云渲染农场吗
    集群渲染并非单一节点的输出,而是一种分布式计算技术,它通过多台计算机协同工作来加速3D渲染过程。这种技术常被视作云渲染农场的前身,两者在提高渲染效率方面有着相似之处。接下来,让我们深入了解集群渲染与云渲染农场之间的联系与区别。一、集群渲染有多少台节点输出集群渲染不是......
  • promise总结
    //所有的promise都成功consta=[newPromise((resolve,reject)=>{resolve("resolve:1")}),newPromise((resolve,reject)=>{resolve("resolve:2")}),newPromise((resolve,reject)=>{resolve("resolve:3")......
  • Day25--NullPointerException
    Day25--NullPointerException在Java中,NullPointerException(空指针异常)是一种常见的运行时异常。当你在代码中尝试访问一个为null(空值)的对象引用时,就会抛出这个异常。例如,你试图调用一个null对象的方法或者访问一个null对象的字段。以下是一个可能会引发NullPointerExce......
  • 数据库中对触发器的学习
    触发器目录触发器什么是触发器触发器的操作创建触发器查看触发器删除触发器什么是触发器MySQL触发器(Trigger)是一种特殊类型的存储过程,它会在指定的数据库表上执行INSERT、UPDATE或DELETE等DML(数据操纵语言)操作之前或之后自动执行。触发器可以用来实现数据的复杂完整性约束、维......
  • ES操作RestHighLevelClient手册
    //设置分页searchSourceBuilder.from(1);searchSourceBuilder.size(5);//排序searchSourceBuilder.sort("age",SortOrder.DESC);searchSourceBuilder.sort("id",SortOrder.DESC);//数据过滤创建SearchSourceBuilder条件构造......
  • mybatis动态SQL
    目前项目中写动态SQL,用的都是下面的语法:@Select("<script>"+"SELECTwr.id,wr.customer_id,wr.type,wr.detailfromxxxrel"+"LEFTJOINxxxwronrel.rule_id=wr.idwhererel.entity_id=#{entityId}andwr.customer_id=#{......
  • 【并查集】【中间值范围】NOIP2017]奶酪
    https://ac.nowcoder.com/acm/contest/22904/1027开了ll还见祖宗注意x^2+y2算完之后先判断有没有超4r2的范围,没有的话再计算z^2,算是对longlong溢出的特判#include<bits/stdc++.h>typedeflonglongll;usingnamespacestd;classUnionFind{public:UnionFind(ll......
  • 数据库之存储过程
    存储过程一、存储过程介绍1、什么是存储过程?存储过程是实现某个特定功能的sql语句的集合,编译后的存储过程会保存在数据库中,通过存储过程的名称反复的调用执行。2、存储过程的优点?(1)存储过程创建后,就可以反复的调用和使用,不需要重新写复杂的语句(2)创建,修改存储过程不会对数据有......
  • 分类模型汇总
    torchvision官网的分类模型 <notitle>—Torchvision0.20documentation训练和预测时,改成自己的分类数#model=models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V2)#加载模型。会自动下载模型#model=models.resnet18(weights=models.ResNet18_......
  • TYPE-C PD浅谈(二)- E-Marker
    E-Marker指的是在TYPE-C缆线中会被放置一颗识别IC,这等于是这条缆线的身份证,其功能主要是在宣告缆线的能力、缆线ID及制造商ID等。前面章节有提到当装置对接后,CC其中会有1pin变成VCONN供电出来,就是为了供电给E-marker来使用。对接后供电端(Provider)会去读取E-Marker的电流承载能......