重點看了其中幾個靜態方法…
void sort(parameters)
引數型別可以分為兩類:primitive(基本型別)和object.
基本型別採用的是優化的快速排序,object採用的是改進的歸併排序。
這位博主總結的很好,學習一下…
int binarysearch(parameters)
boolean equals(type a, type a2)
判斷兩個陣列中的元素是否相等。
對於普通元素型別,用』==』判斷陣列對應位置上的元素;
對於特定的object,用其equals方法判斷。
void fill(type a, type val)
從fromindex到toindex(parameter中可省),利用for迴圈依次賦值。
t copyof(t original, int newlength)
實際**如下:
public static t copyof(t original, int newlength)
呼叫了運用反射及泛型的copyof:
public static t copyof(u original, int newlength, class<? extends t> newtype)
內部複製操作利用的是system.arraycopy(object src, int srcpos, object dst, int dstpos, int length)
各種過載如:
public static int copyof(int original, int newlength)
t copyofrange(t original, int from, int to)
與copyof類似,只不過限定了copy的範圍。
list aslist()
返回靜態內部類物件arraylist(a);
此arraylist繼承於abstractlist,使用final陣列儲存資料(所以不可以進行元素的新增刪除操作),它有這樣的一些方法:
- int size()
- object toarray()
- e get(int index)
- e set(int index, e element)
- int indexof(object o)
- boolean contains(object o)
如果想將乙個陣列轉化成乙個列表並做增加刪除操作的話,可以用以下方式:
listlist = new arraylist(arrays.aslist(e a))
int hashcode(type a)
hashcode的存在主要是用於查詢的快捷性,如hashmap,hashset等,hashcode是用來在雜湊儲存結構中確定物件的儲存位址的。string tostring(type a)如果兩個物件相同(equals方法判斷),那麼兩個物件的hashcode一定相同。
如果物件的equals方法被重寫,那麼物件的hashcode也盡量重寫。
兩個物件的hashcode相同,並不一定表示兩個物件就相同(equals方法判斷),只能說明這兩個物件在雜湊儲存結構中,它們被存放在「同乙個籃子裡」(同一條鏈上)。
返回諸如null//[1,2,3..];
可以分為三部分:
(1)加括號
(2)對每個元素使用string.valueof(e element)方法,在string內部呼叫的是元素自身的tostring方法;
(3)連線字串,使用的是stringbuilder.
原始碼學習 ArrayList的擴容原始碼分析
原始碼如下 下面是arraylist的擴容機制 arraylist的擴容機制提高了效能,如果每次只擴充乙個,那麼頻繁的插入會導致頻繁的拷貝,降低效能,而arraylist的擴容機制避免了這種情況。如有必要,增加此arraylist例項的容量,以確保它至少能容納元素的數量 param mincapac...
PicoContainer原始碼學習
介紹下自己,我叫stef wu,是個菜鳥,現在在easyjf團隊學習,得到了大峽等人的熱情幫助。本序列文章是以前在學習研究picocontainer時所記錄下來的,希望借本文,能和正在學習pico新手或者研究pico的高手一起交流學習。由於我水平不好,而且是真實的從頭到尾的記錄,所以其中,特別是前面...
PicoContainer原始碼學習
介紹下自己,我叫stef wu,是個菜鳥,現在在easyjf團隊學習,得到了大峽等人的熱情幫助。本序列文章是以前在學習研究picocontainer時所記錄下來的,希望借本文,能和正在學習pico新手或者研究pico的高手一起交流學習。由於我水平不好,而且是真實的從頭到尾的記錄,所以其中,特別是前面...