这次我们来讲讲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-for
大数据必学Java基础(二十八):Arrays工具类和数组的复制操作
JAVA中工具类Arrays和异常处理的实例操作.doc
主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...
主要介绍了Java Arrays工具类用法,结合实例形式分析了java Arrays工具类针对数组元素修改、复制、排序等操作使用技巧与相关注意事项,需要的朋友可以参考下
Arrays—数组对象工具类 84 增强for循环 85 可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 <java.lang>System 89 <java.lang>Runtime 90 <java.lang>Math 90 <java.lang>.Date:日期类,月份从0—...
Java常用工具类及异常,异常的原理 try,catch,finally,throws,throw Arrays类 Random类 System和Runtime类
在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...
java arrays类
1.1. Arrays工具类、二维数组.md
在Java中,Arrays类是一个实用工具类,用于在数组上执行各种操作,包括排序、搜索、比较等。它提供了一组静态方法,以便在数组中进行常见的操作。下面是一个超级详细的介绍Java中Arrays类的常用方法和功能。
java常用工具类说明 JDK本身提供的工具类 Guava提供的工具类 Apache common-Collection提供的工具类 JDK提供的工具类 Arrays Collections Objects Arrays是操作数组对象的工具类 Collections是操作集合对象的...
第03章 方法与数组 11 Arrays工具类
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操
6. 集合工具类Collections、Map集合、集合嵌套、不可变集合 7. Stream流、异常处理 8. Logback日志框架、阶段项目 9. File、方法递归、字符集、IO流(一) 10. IO流(二) 11. 多线程 12. 网络编程 13. 单元测试、...
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。Arrays作为一个工具类,能很好的操作数组。下面介绍主要使用的几个函数
一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。软件已破解,去除了未注册版最多只能转换1000行的...
主要介绍了java Arrays工具类实例详解的相关资料,需要的朋友可以参考下
Java平台提供了一个全新的集合框架,框架的核心为Collection、List(列表)、Set(集合)和Map...为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。