这次我们来讲讲Arrays工具类,这个工具类在java.util包下,这个工具类包括了许多对数组进行操作的方法,比如对数组排序和查找。还包括了一个静态工厂,能让数组作为List(列表)来访问。
接下来详细讲讲这个工具类的所有公共方法。
public static void sort(long[] a) 这个方法会将一个long类型数组进行排序,java原码中有说明,这个排序是用快速排序算法实现的。
示例代码
long[] a={1,3,2,4,6,8,7}; System.out.println("排序前:"); for(int i=0;i<a.length;i++) { System.out.println(a[i]); } Arrays.sort(a); System.out.println("排序后:"); for(int i=0;i<a.length;i++) { System.out.println(a[i]); }
运行结果
排序前: 1 3 2 4 6 8 7 排序后: 1 2 3 4 6 7 8
public static void sort(long[] a, int fromIndex, int toIndex) a 被排序的数组 fromIndex 需要排序的起始位置,包括fromIndex这个位置的元素。 toIndex需要排序的结束位置,不包括toIndex这个位置的元素。 这个方法会把给定的long 类型数组按指定的排序起始位置的结束位置来排序。
示例代码
long[] a={6,3,2,4,1,5,8,7}; System.out.println("排序前:"); for(int i=0;i<a.length;i++) { System.out.println(a[i]); } Arrays.sort(a,0,4);//从0开始到4(不包括4) System.out.println("排序后:"); for(int i=0;i<a.length;i++) { System.out.println(a[i]); }
运行结果
排序前: 6 3 2 4 1 5 8 7 排序后: 2 3 4 6 1 5 8 7
public static int binarySearch(long[] a, long key) a:指定数组 key:要查找的元素 返回这个元素所在的索引位置 给定一个long类型数组,一个要查找的元素,此方法实现会返回该元素的的索引位置。当查找的元素不存在时返回“-1”。需要注意的是,这个给定的long类型数组必须是经过排序的,不然会返回不确定的结果!
示例代码
long[] a={6,3,2,4,1,5,8,7}; Arrays.sort(a); System.out.println("排序后:"); for(int i=0;i<a.length;i++) { System.out.print(" "+a[i]); } System.out.println(" "); System.out.println("1的索引位置为:"+Arrays.binarySearch(a, 1));
运行结果
排序后: 1 2 3 4 5 6 7 8 1 的索引位置为:0
public static String deepToString(Object[] a) a:Object类型数组 结果打印出这个素组中的所有元素,及元素的子元素!
示列代码
long[] a={6,3,2,4,1,5,8,7}; Object[] b={1,2,3,a}; System.out.println("调用deepToString方法后的结果为:"+Arrays.deepToString(b));
运行结果
调用deepToString方法后的结果为:[1, 2, 3, [6, 3, 2, 4, 1, 5, 8, 7]]
public static void fill(long[] a, int fromIndex, int toIndex, long val) a:Long类型数组 fromIndex:填充起始位置 toIndex:填充结束位置(不包括这个位置的元素) val:用来填充的数值 该方法根会将指定的数组从fromIndex开始到toIndex(不包括这个位置)的所有元素用val填充,当fromIndex=toIndex时,此操作并无意义,当fromIndex>toIndex时抛异常。
示例代码
long[] a={6,3,2,4,1,5,8,7}; Arrays.fill(a,0,3,1 ); System.out.println("调用fill方法后的结果为:"); for(int i=0;i<a.length;i++) { System.out.print(" "+a[i]); }
运行结果
调用fill方法后的结果为: 1 1 1 4 1 5 8 7
其实public static void fill(long[] a, int fromIndex, int toIndex, long val) 方法是public static void fill(long[] a, long val) 的重载方法,而public static void fill(long[] a, long val) 这个方法很明显,是将指定的数组的所有元素都用val填充,示例就省略不写啦!
public static boolean deepEquals(Object[] a1, Object[] a2) 该方法可对将两个Object类型数组作深度比较,即只有a2和a2所有的元素和元素的子元素全部相等时,才会反回true。
示例代码
long[] a={6,3,2,4,1,5,8,7}; long[] b={6,3,2,4,1,5,8,7}; long[] c={0,3,2,4,1,5,8,7}; Object[] e={1,2,3,a}; Object[] f={1,2,3,b}; Object[] g={1,2,3,c}; System.out.println(Arrays.deepEquals(e, f)); System.out.println(Arrays.deepEquals(f, g));
运行结果
true false
Arrays类提供了其它基本类型以上所有的方法的实现,这里就不一一赘述了!!
我的网店,有劳各位参观参观 http://mrs-x.taobao.com/
相关推荐
Java集合框架还包含了一些工具类,如Collections和Arrays,它们提供了各种实用方法,如排序、复制、反转和查找集合中的特定元素。此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊...
9. **并行数组操作**:`java.util.Arrays`和`java.util.Collections`类增加了并行处理的方法,如`parallelSort()`,利用多核处理器进行高效排序。 Android开发通常依赖于特定版本的JDK,尽管Android Studio现在推荐...
Java 8增强的工具类-Arrays Java 8 中增强的工具类 Arrays 提供了一个新的 for 循环语法,能够更方便地遍历数组和 Collection 等类型的对象。 Java 中的传统 for 循环方式 在 Java 中,通常使用 for 循环来遍历...
* Arrays 是 java.util 包下面操作 Array 的工具类 * Arrays.sort() 方法可以对数组进行排序,按照字典序(ASCII)顺序进行排序 掌握这些 Java 基础知识点对于 Java 开发者来说非常重要,可以帮助开发者更好地编写 ...
### Java工具类详解:正则表达式应用及Arrays与Collections常用功能 ...以上就是关于Java中工具类-正则表达式的详细介绍,这些工具类和方法在日常开发中非常实用,掌握它们可以帮助开发者更加高效地完成任务。
此时,可以考虑使用并发工具类,如Collections.synchronizedList()将数组转换为线程安全的列表。 数组作为数据结构的基础,理解并熟练掌握其操作是成为Java程序员的关键一步。通过本教程的学习,你将能够有效地创建...
在Java编程语言中,`Arrays`工具类和异常处理机制是两个非常重要的概念。下面将详细解释这两个主题。 首先,`Arrays`工具类是Java `util`包的一部分,它提供了许多方便的方法来操作数组,包括排序、填充、复制、...
的复制操作在Java中,数组的复制操作有多种方式,其中`Arrays`工具类提供了便捷的方法。本节将详细介绍如何使用`Arrays`工具类来进行数组的复制。 1. `Arrays.copyOf()` `Arrays.copyOf()`方法用于创建一个新的数组...
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
1. **java.util包**:这是Java标准库中最基础的工具类包,包括以下关键类: - `ArrayList`和`LinkedList`:两种不同的动态数组实现,用于存储和操作对象列表。 - `HashMap`和`TreeMap`:提供了键值对映射的容器,...
Java工具类是编程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。在Java中,工具类通常包含了各种通用的方法,适用于多种场景,减少了重复编码的工作。以下是一些主要的Java...
本篇文章将深入探讨Java中的对象、基础类型以及数据处理相关的工具类。 首先,让我们关注Java中的基础类型。Java有八种原始数据类型:byte、short、int、long、float、double、char和boolean。为了方便处理这些类型...
JavaUtils工具类是Java开发中常见的一类辅助代码集合,它们通常包含各种静态方法,用于简化常见的编程任务,提高开发效率。这篇博文链接(已提供但无法直接访问)可能详细探讨了JavaUtils工具类的设计原则、常用方法...
"Java Arrays工具类用法详解" Java Arrays工具类是Java语言中的一种工具类,主要提供了数组元素的修改、复制、排序等操作。该类中的方法均为static修饰的,可以直接通过Arrays.xxx(xxx)的形式调用方法。 1. Arrays...
Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...
在Java编程语言中,工具类(Utility Class)是封装了常用功能的方法集合,它们通常以静态方法的形式提供,便于开发者快速调用。这些工具类极大地提高了开发效率,减少了代码重复,使得程序更加简洁、易读。以下是...
10. **实用工具类**:如`Arrays`类提供了对数组的各种操作,`Objects`类提供了比较和哈希函数,`Optional`类用于表示可能为null的值,这些工具类都极大地增强了代码的可读性和安全性。 以上仅是可能包含在"牛逼的...
- Collections和Arrays:集合和数组的实用工具类。 - Math:数学运算,如随机数生成。 以上只是Java基础知识的一部分,实际开发中还会涉及到更多的高级特性,如Lambda表达式、并发编程、注解等。深入学习并熟练...
以下是对方法、参数传递、可变参数以及Arrays工具类的详细说明: 1. **方法的练习与注意事项**: - 方法是Java中的功能模块,用于执行特定任务。在编写代码时,应注重方法的命名规范,使其清晰表达方法的功能。 -...
集合工具类-增强for循环-变长参数”中,我们将深入探讨Java中的几个关键概念,包括集合工具类、增强for循环以及变长参数。 首先,集合工具类是Java集合框架的一部分,提供了对集合操作的便利方法。这些工具类主要...