???? 數組與其它種數的容器之間的區別有三個方面: 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個參數:源數組,表示從源數組中的什么位置開始復制的偏移量,表示從目標數組的什么位置開始復制的偏移量,復制元素個數