JAVA複習5(集合 拓展 單向鍊錶)

2021-09-10 07:23:05 字數 2842 閱讀 3796

擴充套件: 實現單向鍊錶

鍊錶其實就是一種順序儲存的資料結構,乙個節點上存在兩個屬性 資料 指向下乙個節點的指標

對於鍊錶的操作,其實就是一組操作標準:

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...