日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java api 框架_java常用对象API之集合框架

發布時間:2023/11/27 生活经验 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java api 框架_java常用对象API之集合框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說到集合框架,其實剛開始學的時候有點自我感覺很簡單,自己認為就是集合類中的框架之類的,但是當自己簡單把它過了一變后發現懵里懵懂的,什么都沒懂,于是自己又認認真真的看了一遍,才弄明白。

說到集合框架就不得不說集合類,集合類的由來是什么呢?簡單的說就是對象用于封裝特有數據,對象多了需要存儲,如果對象的個數不確定,那么就是用集合容器進行存儲。

集合類的特點:

用于存儲對象的容器;

集合的長度是可變的;

集合中不可以存儲基本數據類型值。

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

框架的頂層就是Collection接口。

Collection的常見方法:

1.添加:

boolean add(Object obj);

boolean addAll(Collection coll);

2.刪除:

boolean remove(Object obj);

boolean removeAll(Collection coll);//刪除所有元素

void clear();//清空整個集合

3.判斷:

boolean contains(Object obj);

boolean containsAll(Collection coll);

boolean isEmpty();//判斷集合中是否有元素。

4.獲取:

int size();

Iterator iterator();//專門用于取出集合中元素的方式(迭代器)

該對象必須依賴于具體容器,因為每一個容器的數據結構都不同。所以該迭代器對象是在容器中進行內部實現的。對于使用容器者而言,具體的實現不重要,只要通過容器獲取到該實現的迭代器的對象即可,也就是iterator方法。

★Iterator接口就是對所有的Collection容器進行元素取出的公共接口。

5.其他:

boolean retainAll(Collection coll);取交集。你手里有1.2.3 我手里有2.4.5,取交集就是2

Object[] toArray();//將集合轉成數組

然后Collection下面有兩個重要的接口

List:有序(存入和取出的順序一致),元素都有索引(角標),元素可以重復的。

Set:元素不能重復。

而我們常用的還是List這個接口

List:特有的常見方法:有一個共性特點就是都可以操作角標。

1.添加

void add(index,element);

void add(index,collection);

2.刪除

Object remove(index);

3.修改

Object set(index,element);

4.獲取

Object get(index);

int indexOf(object);

int lastIndexOf(object);

List subList(form,to);

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

List:

|–Vector:內部是數組數據結構,是同步的。(幾乎不用了…老版本的)增刪,查詢都很慢。

|–ArrayList:內部是數組數據結構,是不同步的。替代了Vector。查詢的速度快。

|–LinkedList:內部是鏈表數據結構,是不同步的。 增刪元素的速度很快。

LinkedList:

addFist();

addLast();

jdk1.6升級

offerFirst();

offerLast();

getFist();//獲取但不移除,如果鏈表為空,拋出NoSuchElementException

getLast();

jdk1.6升級

peekFirst();//獲取但不移除,如果鏈表為空,返回null

peekLast();

removeFirst();//獲取并移除,如果鏈表為空,拋出NoSuchElementException

removeLast();

jdk1.6升級

pollFirst();//獲取并移除,如果鏈表為空,返回null

pollLast();

Set:元素不可以重復,是無序。

Set接口中的方法和Collection一致。

|–HashSet:內部數據結構是哈希表 ,是不同步的。

如何保證該集合的元素唯一性呢?

是通過對象的hashCode和equals方法來完成對象唯一性的。

如果對象的hashCode值不同,那么不用判斷equals方法,就直接存儲到哈希表中。

如果對象的hashCode值相同,那么要再次判斷對象的equals方法是否為true。

如果為true,視為相同元素,不存。如果為false,那么視為不同元素,就進行存儲。

記住:如果元素要存儲到HashSet集合中,必須覆蓋hashCode方法和equals方法。

一般情況下,如果定義的類會產生很多對象,比如人,學生,書,通常都需要覆蓋equals,hashCode方法。

建立對象判斷是否相同的依據。

|–TreeSet:可以對Set集合中的元素進行排序。是不同步的。

判斷元素唯一性的方式:就是根據比較方法的返回結果是否是0,是0,就是相同元素,不存。

TreeSet對元素進行排序的方式一:

讓元素自身具備比較功能,元就需要實現Comparable接口。覆蓋compareTo方法。

如果不要按照對象中具備的自然順序進行排序。如果對象中不具備自然順序。怎么辦?

可以使用TreeSet集合第二種排序方式二:

讓集合自身具備比較功能,定義一個類實現Comparator接口,覆蓋compare方法。

將該類對象作為參數傳遞給TreeSet集合的構造函數。

總結

以上是生活随笔為你收集整理的java api 框架_java常用对象API之集合框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。