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