08List集合,Set集合,比較器

2021-09-26 03:18:17 字數 1945 閱讀 2648

繼承自collection介面,是單列集合的乙個重要分支。

實現list介面的物件稱為list集合。

關於linkedlist---------------linkedlist是list介面下另乙個實現類。

linkedlist內部是在使用鍊錶(雙向鍊錶)儲存資料。

linkedlist的特點是查詢慢,增刪快

linkedlist有一些【特有】的方法,可以對集合的首尾進行操作。

public void addfirst(e e) :將指定元素插入此列表的開頭。

public void addlast(e e) :將指定元素新增到此列表的結尾。

public e getfirst() :返回此列表的第乙個元素。

public e getlast() :返回此列表的最後乙個元素。

public e removefirst() :移除並返回此列表的第乙個元素。

public e removelast() :移除並返回此列表的最後乙個元素。

public e pop() :從此列表所表示的堆疊處彈出乙個元素。

public void push(e e) :將元素推入此列表所表示的堆疊。

資料結構:資料用什麼樣的方式組合在一起。

常見資料結構

set是collection下面的另乙個子介面

set介面有以下三個特點:

(1)無序(按照什麼順序存,不一定按照什麼順序取)

(2)無索引(不能根據索引獲取元素)

(3)不可重複(不能存放重複元素)

set是乙個介面,如果要用需要使用實現類,最常用的實現類是hashset。

hashset是set介面下最常用的實現類, 滿足set介面所有的特點。

如果要對set集合進行遍歷,可以使用迭代器或增強for迴圈(推薦)

雜湊值是物件的乙個標識,乙個特徵碼,雜湊值是乙個int數字。

在object中有乙個方法叫做hashcode,可以獲取到物件的雜湊值。

collections是乙個操作集合的工具;

/*

collections是乙個操作集合的工具類。

static void shuffle(list<?> list): 打亂順序

static void sort(list list): 對集合中的元素排序(自然排序)

static void sort(list list, comparator c):對集合中的內容排序。list表示要排序的結合。c表示比較器。(比較器排序的方法)

*/

實現comparable介面後,就表示該類的物件就具備了比較的功能。 在使用collection的sort方法進行排序時,內部會自動呼叫compareto方法比較兩個物件誰大誰小。

如果返回值是正數,表示呼叫者物件大於引數物件

如果返回值是負數,表示呼叫者物件小於引數物件

如果返回值是0,表示呼叫者物件等於引數物件

我們要在compareto定義比較的規則

公式:(公升序就是我(呼叫者)減他(引數))

要根據什麼內容進行排序,那麼就讓什麼屬性相減。

comparator表示的是比較器,當rule實現了comparator介面,rule也就表示比較器

當使用collections中的比較器排序的方法進行排序時。

內部會呼叫compare方法比較兩個物件誰大誰小

如果compare方法返回值是正數,表示第乙個物件大於第二個物件。

如果compare方法返回值是0,表示第乙個物件等於第二個物件

如果compare方法返回值是負數,表示第乙個物件小於第二個物件

/*

comparator表示的是比較器,當rule實現了comparator介面, rule也就表示比較器。

*/public class rule implements comparator

}

List集合 Set集合

一 請簡述list介面的特點。v 它是乙個元素訪問有序的集合。例如,存元素的順序是11 22 33。那麼集合中,元素的儲存就是按照11 22 33的順序完成的 v 它是乙個帶有索引的集合,通過索引就可以精確的操作集合中的元素 與陣列的索引是乙個道理 v 集合中可以有重複的元素,通過元素的equals...

資料結構 單列集合 List集合 Set集合

1 陣列特點 查詢快 位址是連續的,通過首位址可以找到陣列,通過索引 可以快速查詢某個元素 增刪慢 陣列的長度是固定的,要增刪某個元素,必須重新建立乙個陣列,把資料複製過來 2 arraylist特點 底層也是使用陣列實現,兼具陣列的特點 3 linkedlist特點 底層是鍊錶結構 增刪快 因為如...

集合中List和Set

collection介面有兩個子介面 list 列表 set 集 list 可存放重複元素,元素訪問是有序的。set 不可以存放重複元素,元素訪問是無序 的list集合中常用的類 vector 執行緒安全,但速度慢,已被 arraylist 替代。arraylist 執行緒不安全,查詢速度快。lin...