各位看官们,大家好,上一回中咱们说的是Java中异常的例子,这一回咱们说的例子是Java常用类之Arrays。闲话休提, 言归正转。让我们一起Talk Android吧!
看官们,我们在前面章回中提到数组类型,因为数组是类类型,我们没有介绍类相关的知识,所以当时一笔带过。不过,现在的情况不同了,我们已经掌握了类相关的内容,因此,我们在本章回中介绍数组以及常用的类Arrays。
1. 数组定义
看官们,我们先看看数组类型变量的定义方法,我们还是通过伪代码来演示:
type array[] = new type[size];
我们再和定义类对象的方法做个对比:
ClassName obj = new ClassName();
大家可以发现,它们是多么的类似呀!其实在Java中数组类型就是一种类类型,该类型中最常用的它的成员变量:length
。通过该成员变量,可以得到数组的大小,也就是伪代码中size的值。另外,在定义数组时还有一种形式,我们通过伪代码来演示:
type[] array = new type[size];
该形式是Java中推荐的形式,因为通过这种形式可以一目了然地看出是数组类型。在对比一下前面的定义形式,我们就会发现,前面的形式是在沿用C语言中数组的定义形式,其实这是Java为了考虑编程人员的习惯而保留的。
2 .数组初始化
我们在定义数组类型的变量后,都会对该变量进行初始化操作。我们还是通过伪代码的形式来演示数组初始化。
type array[] = {val1,val2,...};
这种方式和C语言中数组的初始化方式相同,其优点是自动指定数组的大小,并且会对数组中的成员进行初始化操作。还有一种数组初始化方式:
type array[] = new type[size];
这种方式是典型的面向对象初始化方式,它会依据size的值来初始化数组的大小,并且把数组中每个元素初始化为类型的默认值。比如,type为int类型时,它的默认值为0,那么int类型的数组使用这种方式初始化时,数组中每个元素的初始值为0.
3. 数组类Arrays
看官们,为了方便我们对数组的操作,Java还提供了Arrays类
,该类提供了许多静态方法,接下来我们介绍一些常用的静态方法。
Arrays.fill(type[] arg0, type arg1); //填充数组,使用arg1来填充数组arg0
Arrays.sort(type[] arg0); //对数组成员排序,默认为升序。
Arrays.binarySearch(type[] arg0, type arg1); //在数组成员中查找某个变量,在数组arg0的成员中查找变量arg1
这些静态方法都是重载方法,可以对不同类型的数组进行操作。比如,我们把上面代码中的type替换为int,那么它就可以对int类型的数组进行相关操作,同理把type替换为double,那么它就可以对double类型的数组进行相关操作。这里的type不但可以是基本的类型,而且可以为类类型。
说了这么多,我们动手来实践一下。下面是程序的代码,请大家参考:
public class ArrayExam{
public static void main(String args[])
{
int [] array1 = {1,2,3,9,8,7} ;
int array2[] = new int[6];
System.out.println("arrar1 length:"+array1.length);
System.out.println("arrar2 length:"+array2.length);
System.out.print("array1 members: ");
for(int i=0; i<array1.length; ++i)
System.out.print(array1[i]+" ");
System.out.println();
System.out.print("array2 members: ");
for(int i=0; i<array1.length; ++i)
System.out.print(array2[i]+" ");
System.out.println();
Arrays.fill(array2, 6);
Arrays.sort(array1);
System.out.print("array1 members: ");
for(int i=0; i<array1.length; ++i)
System.out.print(array1[i]+" ");
System.out.println();
System.out.print("array2 members: ");
for(int i=0; i<array1.length; ++i)
System.out.print(array2[i]+" ");
System.out.println();
if( 1== Arrays.binarySearch(array1,6) )
System.out.println("6 is found in array1");
else
System.out.println("6 is not found in array1");
}
}
在上面的程序中,我们定义的int类型的数组,然后使用了两种初始化的数组的方法,并且把数组中每个成员的值都打印出来。接下来使用了Arrays类
的静态方法对数组进行填充,排序和查找操作。下面是程序的运行结果,请大家参考:
arrar1 length:6
arrar2 length:6
array1 members: 1 2 3 9 8 7
array2 members: 0 0 0 0 0 0
array1 members: 1 2 3 7 8 9
array2 members: 6 6 6 6 6 6
6 is not found in array1
各位看官,关于Java常用类之Arrays的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!