java 一文讲透API [常用类 + 常用工具](20万字博文)

①前言

关于Arrays类,up有些纠结。诚然,Arrays类中一些方法的使用频率还是比较可观的。但是吧,如果单独出一篇博文仅仅去演示Arrays类的常用方法,多少显得没有营养,有些水博文的味道,虽然up很喜欢水博文(bushi);可如果讲得细致一些,包含Arrays类的源码解读和断点调试的过程,放到基础阶段又有些突兀,因为Arrays类的一些方法,在底层源码中不但涉及了java 四种内部类中最难的匿名内部类(内部类up已讲过,放在了 java 进阶专栏,非此基础专栏),而且牵涉到数据结构与算法中的查找等内容(up计划将来发布到 java 数据结构与算法专栏)。因此,Arrays类对于"力求完美"的up来说,就属于这么一个上不上,下不下的位置,相当尴尬。思绪良久,最终计划先暂时将它作为一个补充类放到本篇API总结博文中的常用类位置,简单演示一下它的几个常用方法,明面上也算是我讲到过了。之后如果有机会,我们再对它进行仔细剖析。

②简介

Arrays类是常用类中的一个工具类,其中包含了一系列静态方法,用于管理和操作数组(比方说查找和排序)。

③常用方法介绍演示

1° static String toString(..[] a) :

该方法可以将指定类型的数组转换为String类型的表示。这里的"指定类型"既可以是八大基本数据类型,还可以是引用类型。

2°static void sort(..[] a) :

该方法可以将指定类型的数组进行升序排序。

3°static int binarySearch(..[] a, .. key) :

该方法可以在一个有序数组中查找某个元素是否存在。需要传入数组和要查找的元素。若存在,返回当前元素在数组中的位置,若不存在,确定当前元素在数组中按大小排序应该所在的位置,并返回 - (该位置索引 + 1)。

4°static ..[] copyOf(..[] original, int newLength) :

该方法可以将原数组中指定长度的内容拷贝到新数组中。若指定长度大于原数组长度,则多出来的部分以默认值填充。

Δ演示 :

up以Arrays_类为演示类,代码如下 :

package csdn.knowledge.api.arrays;

import java.util.Arrays;

import java.util.Objects;

public class Arrays_ {

public static void main(String[] args) {

//演示 : Arrays类常用方法

//1.static String toString(...[] a) :

int[] array_0 = new int[]{0, 1, 2, 3, 5};

double[] array_1 = new double[]{2.33, 11.2, 5.5555, 23.24, 211.8};

Integer[] array_2 = new Integer[]{0, 2, 33, 77, 11, 2, 5};

String strArray_0 = Arrays.toString(array_0);

String strArray_1 = Arrays.toString(array_1);

String strArray_2 = Arrays.toString(array_2);

System.out.println("array_0的String类型表示 = " + strArray_0);

System.out.println("array_1的String类型表示 = " + strArray_1);

System.out.println("array_2的String类型表示 = " + strArray_2);

System.out.println("==================================");

//2.static void sort(...[] a) :

Arrays.sort(array_0);

Arrays.sort(array_1);

Arrays.sort(array_2);

System.out.println("array_0数组升序排序后的字符串表示形式 = " + Arrays.toString(array_0));

System.out.println("array_1数组升序排序后的字符串表示形式 = " + Arrays.toString(array_1));

System.out.println("array_2数组升序排序后的字符串表示形式 = " + Arrays.toString(array_2));

System.out.println("==================================");

//3.static int binarySearch(...a, ... key) :

int[] ints = new int[]{1, 2, 5, 11, 23, 24, 77, 141, 211, 985};

System.out.println("11在ints数组中存在吗,存在请返回索引:" + Arrays.binarySearch(ints, 11));

System.out.println("77在ints数组中存在吗,存在请返回索引:" + Arrays.binarySearch(ints, 77));

System.out.println(" 1在ints数组中存在吗,存在请返回索引:" + Arrays.binarySearch(ints, 1));

System.out.println("==================================");

//4.static ...[] copyOf(...[] original, int newLength) :

String[] names1 = new String[]{"大伟哥", "王天一", "钟离", "布洛妮娅", "三鹰仁", "雪之下"};

String[] names2 = Arrays.copyOf(names1, 3); //拷贝三个元素过去

String[] names3 = Arrays.copyOf(names1, names1.length); //全部拷贝过去

System.out.println("新数组names2 = " + Arrays.toString(names2));

System.out.println("新数组names3 = " + Arrays.toString(names3));

}

}

运行结果 :

相关文章

原神杏仁在哪

奥运神剧情!日本女足92分钟绝平,96分钟逆天世界波KO巴西队

教你直观解答补丁 如何判断下个补丁的上线时间