Java基础Arrays类

简介: Java基础Arrays类

个人推荐:

📢📢📢 前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下 "通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 点击跳转到教程

在这里插入图片描述

1.Arrays类

在这里插入图片描述

  • Arrays位于java.util包下(Arrays是一个操作数组的工具类)
  • Arrays包含各种操作数组的方法(例如排序和搜索)。该类还包含一个静态工厂,允许将数组视为列表。
  • Arrays类里的方法都是静态方法可以通过Arrays.方法名()直接调用

2.Arrays常用方法

(1) asList(T... a):主要用于遍历

 List<String> list = Arrays.asList("a","b","c");
  • 该方法适用于对象型数据的数组(String、Integer...)
  • 该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
  • 该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
  • 不支持add()、remove()、clear()等方法

在这里插入图片描述

运行效果:
在这里插入图片描述

(2) fill()

给定特定值val,使整个数组中或者某下标范围内的元素值为val。

在这里插入图片描述

代码实例:

import java.util.Arrays;
public class ArraysTest04
{
    public static void main(String[] args)
    {
        int[] a = new int[7];
        int[] b = new int[7];
        Arrays.fill(a,3);
        Arrays.fill(b,3,5,6);
        
        for(int i = 0;i<a.length;i++)
        {
            System.out.print(a[i]+",");
        }
        System.out.print("\n");
        for(int i = 0;i<b.length;i++)
        {
            System.out.print(b[i]+",");
        }
        System.out.print("\n");
    }
}

运行效果:
在这里插入图片描述

(3) copyOf() && copyOfRange()

  • copyOf():将原始数组的元素,复制到新的数组中,可以设置复制的长度(即需要被复制的元素个数)。

在这里插入图片描述

  • copyOfRange():将某个范围内的元素复制到新的数组中。

在这里插入图片描述

代码实例:

import java.util.Arrays;
public class ArraysTest03
{
    public static void main(String[] args)
    {
        int[] a = {1,3,5,3,6,7};
        int[] b;
        int[] c;
        int[] d;
        System.out.println("-----------原始数组---------");
        for(int i = 0;i<a.length;i++)
        {
            System.out.print(a[i]+",");
        }
        System.out.print("\n");
        
        b = Arrays.copyOf(a,7);//将a数组的内容复制到b数组中,如果新的数组长度大于原来数组的长度,那么用0来填充
        c = Arrays.copyOf(a,3);
        d = Arrays.copyOfRange(a,2,4);
        System.out.println("-----------复制数组---------");
        for(int i = 0;i<b.length;i++)
        {
            System.out.print(b[i]+",");
        }
        System.out.print("\n");
        
        
        for(int i = 0;i<c.length;i++)
        {
            System.out.print(c[i]+",");
        }
        System.out.print("\n");
        
        for(int i = 0;i<d.length;i++)
        {
            System.out.print(d[i]+",");
        }
        System.out.print("\n");
        
    }
}

运行效果:
在这里插入图片描述

(4) equals()

判断两个数组中的元素是否一一对应相等。

代码实例:

import java.util.Arrays;
public class ArraaysTest05
{
public static void main(String[] args)
{
    int[] a = new int[]{1,2,3};
    int[] b = null;
    int[] c = new int[]{};
    int[] d = new int[]{1,2,3};
    
    System.out.println(Arrays.equals(a,b));
    System.out.println(Arrays.equals(a,c));
    System.out.println(Arrays.equals(a,d));
    System.out.println(Arrays.equals(b,c));
    System.out.println(Arrays.equals(b,d));
    System.out.println(Arrays.equals(c,d));
}
}

运行效果:
在这里插入图片描述

(5) sort()

对数组进行升序排序,排序后 ,数组中存放的是排序后的结果。

在这里插入图片描述
代码实例:

import java.util.Arrays;
public class ArraysTest05
{
public static void main(String[] args)
{
    int[] a ={34,56,23,565,23,-56};
    
    Arrays.sort(a);
    
    for(int i = 0;i<a.length;i++)
    {
        System.out.print(a[i]+",");
    }
    System.out.print("\n");
}
}

运行效果:
在这里插入图片描述

(6) binarySearch()

对排序好的数组,采用二分查找的方式查找某个元素,可以在整个数组中查找,也可以在某个范围内查找。

在这里插入图片描述

代码实例:

import java.util.Arrays;

public class ArraysTest02
{
    public static void main(String[] args)
    {
        int[] a = {1,45,78,23,123,98,67,12,90,56};
        
        System.out.println("-----------原始数组---------");
        for(int i = 0;i<a.length;i++)
        {
            System.out.print(a[i]+",");
        }
        System.out.print("\n");
        
        
        Arrays.sort(a);
        System.out.println("-----------排序后数组---------");
        for(int i = 0;i<a.length;i++)
        {
            System.out.print(a[i]+",");
        }
        System.out.print("\n");
        System.out.print("在整个数组中寻找:");
        System.out.println(Arrays.binarySearch(a,78));
        System.out.print("在局部范围内寻找:");
        System.out.println(Arrays.binarySearch(a,4,7,1));
        
    }
}

运行效果:
在这里插入图片描述

本篇博客主要对Java Arrays工具类用法详解进行学习!

相关文章
|
8月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
350 4
|
8月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
374 5
|
8月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
405 1
|
8月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
508 1
|
8月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
325 0
|
8月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
382 1
|
8月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
464 5
|
9月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
471 101
|
9月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
374 100
|
10月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。