Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

一起Talk Android吧(第十五回:Java常用类之Arrays)

$
0
0

各位看官们,大家好,上一回中咱们说的是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的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


作者:talk_8 发表于2017/3/25 10:59:37 原文链接
阅读:107 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>