自定義ArrayList 二 陣列擴容

2022-06-12 14:09:14 字數 951 閱讀 8676

接自定義陣列(一),在前面的基礎上加上了陣列擴容的修改,這種情況是在儲存的資料過大超過原先的陣列容量時,為了避免資料溢位,來進行的操作。

public class setarrylist

public setarrylist (int capacity)

public void add(e element)

@override

public string tostring()

return sbuilder.tostring(); }

public static void main(string args)

public void add(string string)

}

修改儲存資料的容量大小

for (int i = 0; i < 40; i++)
此時會報錯,因為資料過大,儲存的時候放不進去,超過了本身的容量,此時就需要進行陣列擴容,而在擴容時就需要去修改add()方法。

public void add(e element) 

elementdata[size++] = element;

}

擴容為原陣列的二倍或者加上原陣列的一半,在此要乙個問題就是——計算的優先順序,  elementdata.length+ (elementdata.length << 1相當於10-->10+10/2

public static void main(string args) 

/** s1.add("abc"); s1.add("陣列");

*/system.out.println(s1);

}

自定義實現ArrayList

package com.mylist public class myarraylist 返回list的大小 return public int size 判斷是否為空 return public boolean isempty 建立指定大小的list集合 param init public myar...

ArrayList實現自定義排序

arraylist中存在sort排序方法,只要你實現了comparator的介面,按照你自己的排序業務進行實現,你只要告訴這個介面按照什麼型別進行排序就ok了。這種方式類似於設計模式中的策略模式,把流程劃分好,具體的業務邏輯由使用者指定 實現 public class comparatortest ...

自定義陣列

陣列是一種容器,最簡單的資料結構,其實體地址是連續的,所以,其長度是固定的。陣列一旦定義 資料型別,長度均被固定,所以不能實現增加刪除的操作 一.簡單定義 建立乙個學生類,在測試檔案中定義乙個學生類的陣列用來存放學生資訊 public class student public void study ...