`
bewithme
  • 浏览: 431635 次
  • 性别: 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基础----集合类汇总

    Java集合框架还包含了一些工具类,如Collections和Arrays,它们提供了各种实用方法,如排序、复制、反转和查找集合中的特定元素。此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊...

    jdk-1.7-java-7-openjdk-amd64.zip

    9. **并行数组操作**:`java.util.Arrays`和`java.util.Collections`类增加了并行处理的方法,如`parallelSort()`,利用多核处理器进行高效排序。 Android开发通常依赖于特定版本的JDK,尽管Android Studio现在推荐...

    Java 8增强的工具类-Arrays

    Java 8增强的工具类-Arrays Java 8 中增强的工具类 Arrays 提供了一个新的 for 循环语法,能够更方便地遍历数组和 Collection 等类型的对象。 Java 中的传统 for 循环方式 在 Java 中,通常使用 for 循环来遍历...

    java基础难点-更新版

    * Arrays 是 java.util 包下面操作 Array 的工具类 * Arrays.sort() 方法可以对数组进行排序,按照字典序(ASCII)顺序进行排序 掌握这些 Java 基础知识点对于 Java 开发者来说非常重要,可以帮助开发者更好地编写 ...

    java工具类-正则

    ### Java工具类详解:正则表达式应用及Arrays与Collections常用功能 ...以上就是关于Java中工具类-正则表达式的详细介绍,这些工具类和方法在日常开发中非常实用,掌握它们可以帮助开发者更加高效地完成任务。

    02-Java基础(数组-常见操作-遍历

    此时,可以考虑使用并发工具类,如Collections.synchronizedList()将数组转换为线程安全的列表。 数组作为数据结构的基础,理解并熟练掌握其操作是成为Java程序员的关键一步。通过本教程的学习,你将能够有效地创建...

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

    在Java编程语言中,`Arrays`工具类和异常处理机制是两个非常重要的概念。下面将详细解释这两个主题。 首先,`Arrays`工具类是Java `util`包的一部分,它提供了许多方便的方法来操作数组,包括排序、填充、复制、...

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

    的复制操作在Java中,数组的复制操作有多种方式,其中`Arrays`工具类提供了便捷的方法。本节将详细介绍如何使用`Arrays`工具类来进行数组的复制。 1. `Arrays.copyOf()` `Arrays.copyOf()`方法用于创建一个新的数组...

    java常用的工具类整理28个

    在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...

    Java常用工具类

    1. **java.util包**:这是Java标准库中最基础的工具类包,包括以下关键类: - `ArrayList`和`LinkedList`:两种不同的动态数组实现,用于存储和操作对象列表。 - `HashMap`和`TreeMap`:提供了键值对映射的容器,...

    比较全的java工具类

    Java工具类是编程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。在Java中,工具类通常包含了各种通用的方法,适用于多种场景,减少了重复编码的工作。以下是一些主要的Java...

    JAVA对象以及数据的工具类

    本篇文章将深入探讨Java中的对象、基础类型以及数据处理相关的工具类。 首先,让我们关注Java中的基础类型。Java有八种原始数据类型:byte、short、int、long、float、double、char和boolean。为了方便处理这些类型...

    java utils 工具类

    JavaUtils工具类是Java开发中常见的一类辅助代码集合,它们通常包含各种静态方法,用于简化常见的编程任务,提高开发效率。这篇博文链接(已提供但无法直接访问)可能详细探讨了JavaUtils工具类的设计原则、常用方法...

    Java Arrays工具类用法详解

    "Java Arrays工具类用法详解" Java Arrays工具类是Java语言中的一种工具类,主要提供了数组元素的修改、复制、排序等操作。该类中的方法均为static修饰的,可以直接通过Arrays.xxx(xxx)的形式调用方法。 1. Arrays...

    java工具类

    Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...

    java常用工具类

    在Java编程语言中,工具类(Utility Class)是封装了常用功能的方法集合,它们通常以静态方法的形式提供,便于开发者快速调用。这些工具类极大地提高了开发效率,减少了代码重复,使得程序更加简洁、易读。以下是...

    牛逼的java常用工具类

    10. **实用工具类**:如`Arrays`类提供了对数组的各种操作,`Objects`类提供了比较和哈希函数,`Optional`类用于表示可能为null的值,这些工具类都极大地增强了代码的可读性和安全性。 以上仅是可能包含在"牛逼的...

    面向后台,j2se部分都是基础,主要学习: 面向对-Java-Summary-of-Basic-Learning.zip

    - Collections和Arrays:集合和数组的实用工具类。 - Math:数学运算,如随机数生成。 以上只是Java基础知识的一部分,实际开发中还会涉及到更多的高级特性,如Lambda表达式、并发编程、注解等。深入学习并熟练...

    day002 JAVA语法基础-方法.doc

    以下是对方法、参数传递、可变参数以及Arrays工具类的详细说明: 1. **方法的练习与注意事项**: - 方法是Java中的功能模块,用于执行特定任务。在编写代码时,应注重方法的命名规范,使其清晰表达方法的功能。 -...

    【IT十八掌徐培成】Java基础第12天-04.集合工具类-增强for循环-变长参数.zip

    集合工具类-增强for循环-变长参数”中,我们将深入探讨Java中的几个关键概念,包括集合工具类、增强for循环以及变长参数。 首先,集合工具类是Java集合框架的一部分,提供了对集合操作的便利方法。这些工具类主要...

Global site tag (gtag.js) - Google Analytics