手工實現乙個Arraylist類

2021-10-03 09:36:32 字數 1209 閱讀 1711

public

class

xjharraylist

public

xjharraylist

(int capacity )

else

}public

void

add(e e)

elementdata[size++

]=e;

//size從0開始自加 先賦值否則應該是++size

}@override

public string tostring()

sb.setcharat

(sb.

length()

-1,']');

//【】格式輸出

return sb.

tostring()

;}public object get

(int index)

else

throw

newruntimeexception

("下標值越界");

}public

void

set(e element,

int index)

else

throw

newruntimeexception

("下標值越界");

}/** 小技巧:在這裡可以統一定義乙個下標檢查函式,若下標越界則丟擲異常,這樣就讓上面兩個方法精簡*/

public

void

remove

(e element)}}

public

void

removes

(int index)

if(index==size-1)

}}

只是為了練手

設計主類測試

xjharraylist 

x=new

xjharraylist

<

>()

;//定義乙個xjharraylist型別的容器

for(

int i =

0; i <

10; i++

)system.out.

println

(x.tostring()

);x.set(2

,0);

x.remove(2

);

手工實現ArrayList

思路 我們知道arraylist底層是陣列,所以當我們建立arraylist物件時就是呼叫空構造器,讓構造器來幫我們建立好乙個長度為10 自己擬定的長度 的陣列,然後我們可以呼叫內部提供的各種發放來操作arraylist,所以讓我們自己來手寫乙個arraylist。第一步 讓我們由簡單到難分布完成,...

手工實現ArrayList

package cn.yishan.mycollection 自定義實現乙個arraylist,體會底層原理 author yishan public class sxtarraylist01 public sxtarraylist01 int capacity public void add ob...

自己實現乙個簡單的ArrayList

自己簡單的實現arraylist的 註解很清楚了,寫了arraylist的add obj 方法 remove index 方法,get index 方法,自己定義迭代器,自己進行迭代 迭代器介面 public inte ce iterator集合 的實現 version description 自己...