JAVA複習5(集合 ArrayList)

2021-09-10 07:21:02 字數 3581 閱讀 7888

所謂集合指的就是一套動態物件陣列,在實際開發中陣列的概念的一定會使用的,但是陣列的問題是一旦開闢空間則長度不可改變

其實就是對資料結構的一種封裝,使用者不用去編寫,直接使用。 由於資料結構開發起來比較困難,還必須考慮效能問題

3.1 集合中需要掌握的核心介面

collection  list  set  map  iterator   (了解) enumeration  queue

3.2 list介面

list介面的定義:

public inte***celistextends

collection

通過觀察list介面的定義其繼承的是collection 介面

通過觀察介面之間的關係,可以得出上圖

觀察collection常用方法

1 public  boolean add(ee)

;   

增加元素到集合

2 public

boolean addall(

collection

extends

e> c)

;存放乙個集合

3 public

boolean contains(

objecto);

查詢集合中的元素

4 public

boolean isempty()

;判斷乙個集合是否為空

5 public

boolean remove(

object

o)刪除乙個集合中的元素

6 public

int size()

; 返回集合中的長度 觀察

list

介面中的方法

list

擴充套件collection

中的方法

1public

eget(int index)

;根據指定索引取得元素

2 public

eset(int index,

eelement) ; 

替換元素,

index

要替換元素下標

element

要替換的元素

3 public

listiterator

<

e> listiterator()

list

自己的迭代器

list

介面的特點:

可重複的,

有序的

使用list list

本身是乙個介面,如果想要使用乙個介面則可以使用該介面的實現類完成

list

下面的實現類:

需要掌握的實現類

:arraylist   lindkedlist  vector

範例:使用list 介面

publicstaticvoidmain(string

args

) }

通過使用

arraylist

發現其特點是

可重複的,並且有序的,順序就儲存時候的順序

通過乙個

add

增加元素到集合

通過get(index)

取出集合中的元素

下標的位置從0開始

觀察其中的一些其他的操作方法: 1

判斷集合是否為空

pulic boolean isempty(); 2

取得集合中的長度

pulic int size(); 3

刪除集合中的元素

public boolean remove(object obj);

publicstaticvoidmain(string

args)

通過觀察原始碼發現

arraylist

是乙個物件陣列

,每次增加的時候

會為陣列擴容,陣列長度是不能改變的,每次擴容陣列內容拷貝的工作

,arraylist

如果頻繁增加內容,效率不高,

但是查詢的時候由於底層使用的是陣列,所以查詢效率會高

面試題:

arraylist

儲存自定義類:

首先觀察使用系統自定義的類完成

arraylist

類的新增

publicstaticvoidmain(string

args)

} 以上使用的類

為系統自定義的

string

類其類功能已經非常完善了,現在使用使用者自定義的類完成

arraylist

的新增

範例:實現自定義類

packageorg.list;

publicclassperson

publicstring getname()

publicvoidsetname(string

name)

publicintgetage()

publicvoidsetage(intage)

@override

//new person("

張三",20)

publicbooleanequals(object

obj)

// this

當前的物件

person 

和 傳進來的

person

比較if(this==

per)

if(this.

age==

per.

age&&this.

name

.equals(

per.

name

))

returnfalse; }

} 通過**,發現自定義類的時候,必須覆寫

equals

方法才能完成集合中

物件查詢和刪除,主要原因是在於進行物件刪除或者查詢的時候

集合中會判斷傳入的元素和集合本身的元素是否是內容相同的元素

只有相同才會刪除或者查詢

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

擴充套件 實現單向鍊錶 鍊錶其實就是一種順序儲存的資料結構,乙個節點上存在兩個屬性 資料 指向下乙個節點的指標 對於鍊錶的操作,其實就是一組操作標準 1 增加元素 2 刪除元素 3 判斷鍊錶是否為空 3 返回鍊錶中的長度 既然以上的操作定義為標準,則可以抽象為介面 鍊錶類直接實現該介面中的標準 實現...

複習七(集合)

判斷內容是否存在 集合名.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...