擴充套件: 實現單向鍊錶
鍊錶其實就是一種順序儲存的資料結構,乙個節點上存在兩個屬性 資料 指向下乙個節點的指標
對於鍊錶的操作,其實就是一組操作標準:
1 增加元素
2 刪除元素
3 判斷鍊錶是否為空
3 返回鍊錶中的長度
既然以上的操作定義為標準,則可以抽象為介面 鍊錶類直接實現該介面中的標準
實現鍊錶:
1 定義鍊錶的操作標準
packageorg.node;
publicinte***celist
2 定義節點類
packageorg.node;
/*** 定義節點類
兩個屬性
儲存的資料
指向下乙個節點的指標
*@authorwubo
* */
publicclassnode //
不是頭節點
publicnode(object
obj, node
nextval)
publicobject getelement()
publicvoidsetelement(object
element)
publicnode getnext()
publicvoidsetnext(node
next
) }
3 定義鍊錶類
packageorg.node;
publicclasslinklistimplementslist //
定位方法 找到當前物件的前乙個節點
publicvoidindex(intindex
)throwsexception
if(
index
==-1)
current
=head
.next;
intj
=0;
//迴圈變數
while(
current
!=null&&
j<
index
) }
@override
publicintsize()
@override
publicbooleanisempty()
@override
publicvoidadd(intindex
, object
obj)throwsexception
// 定位節點
index(
index
-1);
current
.setnext(newnode(
obj,
current
.next
)); size
++; }
@override
publicvoidremove(intindex
)throwsexception
if(
index
<0||
index
>
size)
index(
index
-1);
//定位操作
current
.setnext(
current
.next
.next);
size
--; }
@override
publicobject get(intindex
)throwsexception
index(
index);
returncurrent
.getelement(); }
} 測試類:
packageorg.node;
publicclassnodetest
for(inti
=0;i
<
list
.size;i
++)
} }
JAVA複習5(集合 ArrayList)
所謂集合指的就是一套動態物件陣列,在實際開發中陣列的概念的一定會使用的,但是陣列的問題是一旦開闢空間則長度不可改變 其實就是對資料結構的一種封裝,使用者不用去編寫,直接使用。由於資料結構開發起來比較困難,還必須考慮效能問題 3.1 集合中需要掌握的核心介面 collection list set m...
複習七(集合)
判斷內容是否存在 集合名.contains 內容 有返回true linkedlist方法 addfirst 內容 新增第乙個內容 addlast 內容 新增最後乙個內容 getfirst 返回列表第乙個元素 getlast 返回列表最後乙個元素 removefirst 刪除第乙個元素 remove...
2020 7 25集合複習小結
答 分為三種集合 list set map list arraylist linkedlist vector set hashset linkedhashset treeset map hashmap hashtable linkedhashmap treemap properties proper...