数组与其它种数的容器之间的区别有三个方面: 1.效率 2 类型 3.保存基本类型的能力, 无论使用哪种类型的数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组对象用以保存指向其它对象的的引用。“[]”语法是访问数组对象的唯一方式。 对象数组和基本数组在使用上几乎是一样,唯一区别的是对象数组保存的是引用,基本类型数组直接保存基本类型的值。
     在java.util.Arrays类库有一个Arrays,它有一套static 方法,提供了操作数组的实用功能.
     几个主要的方法:
     1.equals()
          用于比较两个数组是否相等,当数组的元素个数和对应位置元素也相等时数组才相等。
  
     2.fill()
          用于以某个值填充整个数组,这里只能是以单一的值填充整个数组。
    
     3.sort()    
        
用于对数组排序。其中要比较的功能有两种方式
                1.实现java.lang.Comparable接口,使类具有“天生”的比较能力,要实现此接口只需实现compareTo(Object obj)方法
                2.使用策略设计模式,通过使用策略,将会发生变化的代码封装在它自己的类中,将策略对象交给保持不变的代码,后者使用策略实现它的算法。它是通过定义 一个实现了Comparator接口的类而创建的一个策略。这个类有compare(Object obj1,Object obj2)和equals()两个方法。一般不去实现equals()方法,因为所创建的类都是间接继承自Object,而Object带有equals() 方法。例如:Arrays.sort(a,myComparator)  //其中a是一个数组,myComparator是一个实现了接口Comparator的类 。
            这里若要将数组反序:
                    1.使用Collections.sort(arraylist,Collections.reverseOrder());但可能会得到ClassCastException
                    2.可以使用Collections.reverse(list);   //list是要反序的数组
                    具体解释见:   http://community.csdn.net/Expert/topic/4362/4362510.xml?temp=.7333948 

     4.binarySearch()
          用于在已经排序的数组中查找元素,若查找成功,它的返回值等于或大于0,否则它产生负返回值,表示若要保持数组的排序状态此目标元素所应该插入的位置,这个负值的计算方式是:  -(插入点)-1  其中的插入点是指,第一个大于查找对象元素在数组中的位置,如果数组所有的元素都小于查找的对象,插入点就等于数组的大小.
        注意 1.如果数组包含重复的元素,则无法保证找到的是哪一个。
                  2.如果使用Compartor排序了某个对象数组,基本数组无法使用Comparator进行排序,在使用该方法进必须提供同样的comparator
                    例如:Arrays.binarySearch(a,2,myComparator);    //其中a是经过myComparator排序的数组
    
         以上所有4个方法对各个基本类型和Object类重载过.
    
     5.asList()

        接受任意的数组为参数,并将其转变为List容器.

     6.arraycopy()
    System包中的一个静态方法
        它需要5个参数:源数组,表示从源数组中的什么位置开始复制的偏移量,表示从目标数组的什么位置开始复制的偏移量,复制元素个数