基本資料型別物件 集合物件

2021-08-10 17:43:30 字數 3303 閱讀 7854

1、基本資料型別物件包裝類

常用操作之一:用於基本資料型別和字串之間的轉換

基本型別--->字串

*基本型別+「」

*用string類中的靜態方法valueof(基本資料型別值)

*用integer類中的靜態方法valueof(基本資料型別值)

字串---->基本型別

*使用包裝類中的靜態方法parseint()或其他parselong()等等par***xx()

*如果字串被integer進行物件的封裝,可以使用另乙個非靜態方法,intvalue(),經乙個integer物件轉換成基本資料型別值。

integer i=new integer(「123」);

i.intvalue(i);//基本資料型別

byte    byte

short  short

int  integer

long long

float float

double  double

char  character

boolean boolean

jdk1.5以後,自動裝箱,如果裝箱的是乙個位元組,那個該資料會被共享,不會重新開闢新空間

integer x=127;

integer y=127;

x==y;//true,如果是128以上則為false

2、集合類

*用於儲存物件的容器

*集合的長度是可變的

*集合中不可以儲存基本資料型別

集合容器因為內部的資料結構不同,有多種具體容器。不斷的向上抽取,就形成了集合框架。

框架頂層collection介面

collection常用方法:

*增加boolean add(object obj);

boolean addall(collection coll)

*刪除boolean remove(object obj);

boolean removeall(collection coll);//將兩個集合中相同元素從呼叫removeall的集合中刪除

void clear();

*判斷boolean contains(object obj);

boolean containsall(collections coll);

boolean isempty();判斷集合是否有元素

*獲取int size();

iterator  iterator();取出元素的方式:迭代器

該物件必須依賴於具體容器,因為每乙個容器的資料結構都不同,所以該迭代器物件是在容器中進行內部實現的。

*其他boolean retainall(collection coll);取交集  

object toarray();集合轉換成陣列

collection

|_list:有序(存入和取出順序一致,元素都有索引。允許重複元素

|_set:元素不重複,無序。

list:特有常見方法,有乙個共性特點,都可以操作角標

*新增void add(index,element);

void add(index,collection);

*刪除object remove(index);

*修改object set(index,element);

*獲取object get(index)

int indexof(object);

int lastindexof(object)

list sublist(from,to);

3、在迭代器過程中,不要使用集合操作元素,容易出現異常。可以使用iterator介面的子類listiterator來完成在迭代中對元素進行更多的操作。

listiterator可以實現在迭代過程中完成對元素的增刪改查,注意只有list集合具備該迭代功能。

例子:iterator it=list.iterator();

while(it.hasnext()){

object obj=it.next();

if(obj.equas("abc"){

list.add("aad");//使用迭代器過程,集合操作了元素

list集合是可以完成對元素的增刪改查

list:

|_vector:內部是陣列資料結構 ,是同步的,執行緒安全的。

|_arraylist:內部是陣列資料結構,是不同步的。替代了vector,查詢速度快。

|_linkedlist內部是鍊錶資料結構,是不同步的,增刪元素的速度很快。

addfirst()   

addlast() 

jdk1.6

offerfist()

offerlast()

getfist()  //獲取但不移除,如果鍊錶為空,則丟擲nosuchelementexception

getlast() 

jdk1.6:peekfirst()獲取但不移除,如果鍊錶為空,則返回null

peeklast()

removefist()  //獲取並移除,如果鍊錶為空,則丟擲nosuchelementexception

removelast()

jdk1。6

pollfirst()獲取但不移除,如果鍊錶為空,則返回null

polllast()

4、set集合:元素不可以重複,是無序。

set介面中的方法和collection一致。

|_hashset內部資料結構是雜湊表,是不同步的。

hashset集合資料結構是雜湊表,所以儲存元素的時候,使用的元素的hascode方法來確定位置,如果位置相同,在通過元素的equals來確定是否相同。

雜湊表確定元素是否相同

1)判斷的是兩個元素的雜湊值是否相同。如果相同,再判斷兩個物件的內容是否相同。

2)判斷雜湊值相同,其實判斷的是物件的hashcode的方法。判斷內容相同用的是equals方法。

注意:如果雜湊值不同,是不需要判斷equals。

hashset的子類linkedhashset:有序的

|_treeset:內部是二叉樹資料結構。可以對set集合中的元素進行排序,是不同步的。判斷元素唯一性的方式:就是根據比較方法的返回結果,是否是0.是就是相同元素,不存入。

treeset對元素進行排序的方式之一,讓元素自身具備比較功能,元素就需要實現comparable介面,覆蓋compareto方法。

如果不要按照物件中具備的自然順序排序,如果物件中不具備自然順序,怎麼辦?

可以使用treeset集合的第二種排序方式:讓集合自身具備比較功能。定義類實行comparator介面,覆蓋compare方法,將該類物件作為引數傳遞給treeset集合的建構函式。

基本資料型別 集合

集合 set 定義集合 qq 或者是qq set value,value 集合的作用 去重,關係運算 集合必須為可hash型別 集合元素的幾個原則 1 每個元素為不可變型別 可hash,可以作為字典裡的kay 2 沒有重複元素 3 無序 無序排列 重點來了 集合的目的就是講不同的值放在一起,不同的集...

基本資料型別物件包裝類

基本資料型別物件包裝類 基本資料型別 引用資料型別 byte byte short short int integer long long float float double double char characher boolean boolean 基本資料型別物件包裝類最常見作用 就是用於基本...

基本資料型別物件包裝類

基本資料型別物件包裝類 byte byte short short int integer long long boolean boolean float float double double char charcter 基本資料型別物件包裝類的最常見作用 就是用於基本資料型別和字串之間的做轉換 ...