`
bewithme
  • 浏览: 423280 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java基础之---Arrays工具类

 
阅读更多

 

      这次我们来讲讲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 8增强的工具类-Arrays

    java-for

    大数据必学Java基础(二十八):Arrays工具类和数组的复制操作

    大数据必学Java基础(二十八):Arrays工具类和数组的复制操作

    JAVA中工具类Arrays和异常处理的实例操作.doc

    JAVA中工具类Arrays和异常处理的实例操作.doc

    java常用类解析及示例及一些工具类源代码

    主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...

    Java Arrays工具类用法详解

    主要介绍了Java Arrays工具类用法,结合实例形式分析了java Arrays工具类针对数组元素修改、复制、排序等操作使用技巧与相关注意事项,需要的朋友可以参考下

    Java基础知识点总结.docx

    Arrays—数组对象工具类 84 增强for循环 85 可变参数(...) 86 枚举:关键字 enum 86 自动拆装箱 86 泛型 87 &lt;java.lang&gt;System 89 &lt;java.lang&gt;Runtime 90 &lt;java.lang&gt;Math 90 &lt;java.lang&gt;.Date:日期类,月份从0—...

    Java常见工具类及异常处理

    Java常用工具类及异常,异常的原理 try,catch,finally,throws,throw Arrays类 Random类 System和Runtime类

    java常用工具类的使用

    在Java开发类库中,提供了很多工具类,我们即将学习最常见的工具类,比如对日期的操作,对集合的操作等。具体更多的工具类,请参考JavaDoc文档。 2. java.util.Date类 Date类包装了毫秒值,毫秒值表示自1970年1月1...

    Java中Arrays类详解.docx

    java arrays类

    1.1. Arrays工具类、二维数组.md

    1.1. Arrays工具类、二维数组.md

    java arrays类.docx

    在Java中,Arrays类是一个实用工具类,用于在数组上执行各种操作,包括排序、搜索、比较等。它提供了一组静态方法,以便在数组中进行常见的操作。下面是一个超级详细的介绍Java中Arrays类的常用方法和功能。

    java各种功能集合和工具.rar

    java常用工具类说明 JDK本身提供的工具类 Guava提供的工具类 Apache common-Collection提供的工具类 JDK提供的工具类 Arrays Collections Objects Arrays是操作数组对象的工具类 Collections是操作集合对象的...

    第03章 方法与数组 11 Arrays工具类

    第03章 方法与数组 11 Arrays工具类

    Arrays工具类常用方法

    C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 ...在Java API中提供了操作数组的工具类 java.util.Arrays,例如:排序,查找,复制,数组转集合,数组转字符串等常见操

    Java基础最全笔记文档

    6. 集合工具类Collections、Map集合、集合嵌套、不可变集合 7. Stream流、异常处理 8. Logback日志框架、阶段项目 9. File、方法递归、字符集、IO流(一) 10. IO流(二) 11. 多线程 12. 网络编程 13. 单元测试、...

    java的Arrays工具类实战

    java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。Arrays作为一个工具类,能很好的操作数组。下面介绍主要使用的几个函数

    C# to Java 代码转换工具

    一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。软件已破解,去除了未注册版最多只能转换1000行的...

    java Arrays工具类实例详解

    主要介绍了java Arrays工具类实例详解的相关资料,需要的朋友可以参考下

    java集合类演示源码

    Java平台提供了一个全新的集合框架,框架的核心为Collection、List(列表)、Set(集合)和Map...为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。

Global site tag (gtag.js) - Google Analytics