★14.數(shù)組

關(guān)于數(shù)組

  • 數(shù)組有且只有l(wèi)ength字段。
  • 基本類型數(shù)組直接存儲數(shù)據(jù),對象類型數(shù)組存儲引用。
  • 方法可以返回數(shù)組而不需要擔(dān)心內(nèi)存泄露問題。

初始化

一維數(shù)組

A[] a = new A[4];  // 基本類型被被初始化為0,對象類型會被初始化為null
A[] b = {new A(), new A(), new A()};
A c = new A[]{new A(), new A()};

多維數(shù)組

int[][] a = {{1, 2, 3}, {4, 5, 6}};
int[][] b = new int[2][2];
int[][][] c = new int[2][][];
for (int i = 0; i < c.length; i++) {
    c[i] = new int[2][];
    for (int j = 0; j < c[i].length; j++) {
        c[i][j] = new int[2];
    }
}

數(shù)組與泛型

創(chuàng)建泛型實例數(shù)組

// 擦除使數(shù)組不能知道確切類型
List<Integer>[] a1 = new List<Integer>[10];
List<Integer>[] a2;
List[] a3 = new List[10];
a2 = (List<Integer>[]) a3;  // a2可以繞過檢查,創(chuàng)建泛型實例數(shù)組

泛型中返回數(shù)組

class A<T> {
    // 數(shù)組可以知道返回的確切類型
    private T[] fun(T[] arg) {
        return arg;
    }
}

創(chuàng)建泛型參數(shù)數(shù)組

class A<T> {
    private T[] array;

    public A(int size) {
        array = new T[size];
        array = (T[]) new Object[size];
    }
}

相關(guān)工具

Arrays

  • asList():接受一個數(shù)組或者一個逗號分隔的元素列表,返回一個尺寸無法改變的List。
  • fill():用數(shù)據(jù)填充數(shù)組。
    • 兩個參數(shù):第一個是數(shù)組,第二個是要填充的值。
    • 四個參數(shù):第一個是數(shù)組,第二三個是要填充的區(qū)域,第四個是要填充的值。
  • toString()、deepToString():分別將一維數(shù)組和多維數(shù)組轉(zhuǎn)換為字符串。
  • asList():接受任意的序列或數(shù)組,產(chǎn)生一個List容器。
  • equals()、deepEquals():分別比較一維數(shù)組和多維數(shù)組是否相等。
  • sort():對數(shù)組進(jìn)行排序。
  • binarySearch():在已經(jīng)排序的數(shù)組里查找元素。
  • hashCode():產(chǎn)生散列碼。

System.arraycopy()

  • 用于復(fù)制數(shù)組,速度比for循環(huán)快。
  • 接受5個參數(shù):源數(shù)組、起始索引、目標(biāo)數(shù)組、起始索引、長度。
  • 對于對象數(shù)組執(zhí)行淺拷貝。
  • 不會自動拆包和包裝。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)組并不是只針對數(shù)字來說的。僅限于數(shù)字的那是數(shù)學(xué)范疇的數(shù)列。計算機(jī)編程里的數(shù)組是把一堆數(shù)據(jù)編成了組。數(shù)組可以是整型...
    厚土火焱閱讀 451評論 0 1
  • 一、數(shù)組數(shù)組是一組使用數(shù)字索引的對象,這些對象屬于同一種類型。雖然C#為創(chuàng)建數(shù)組提供了直接的語言支持,但通用類型系...
    CarlDonitz閱讀 792評論 0 1
  • 來源:NumPy Tutorial - TutorialsPoint 譯者:飛龍 協(xié)議:CC BY-NC-SA 4...
    布客飛龍閱讀 33,595評論 6 97
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,658評論 0 3
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評論 19 139

友情鏈接更多精彩內(nèi)容