資料結構 List Set

2021-10-03 04:57:49 字數 1975 閱讀 7970

棧、佇列

陣列

鍊錶

紅黑樹

雜湊表

list是collection集合的子類,主要特點有

1,有序:儲存進去的元素都是有順序的;

2,有索引:可以通過索引精確的查詢某乙個元素;

3,可重複:元素內容允許重複;

public void add(int index, e element)   新增元素到指定的位置,索引後面元素向後移一位;

public e get(int index)  返回指定索引的元素;

public e remove(int index)  移除指定索引的元素;

public e set(int index, e element)  指定索引替換元素;

arraylist:

底層實現:陣列   所以查詢快,增刪慢;

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) :將元素推入此列表所表示的堆疊。

public boolean isempty() :如果列表不包含元素,則返回true。

set集合也是collection集合的子類  主要特點有:

1,無序;

2,無索引;

3,不重複;

hashset

底層:雜湊表   儲存的物件需要重寫equals和hashcode保證儲存的唯一性

linkedhashset

底層:雜湊表+鍊錶    儲存是有序的

格式:修飾符 返回值型別 方法名(引數型別... 形參名)

單列集合的工具類,常用方法有如下:

public static boolean addall(collectionc, t... elements)  往指定集合中新增多個元素;

public static void shuffle(list> list)  打亂集合中的元素順序;

public static void sort(listlist)   將元素按照預設規則排序;

public static void sort(listlist,comparator super t> )   將集合中的的元素按照指定規則排序

要麼實現comparable的compareto方法進行比較

要麼使用匿名內部類的方式new comparetor進行比較

例如:

collections.sort(list, new comparator() 

return result;

}});

List Set 資料結構 Collections

常見的資料結構 棧 佇列 陣列 鍊錶和紅黑樹 棧 stack 又稱堆疊,他是運算受限的線性表,其限制是僅允許在標的一端進行插入和刪除操作,不允許在其 他任何位置進行新增 查詢 刪除等操作。特點 先進後出 即,存進去的元素,要在它後面的元素依次取出後,才能取出該元素 列如彈夾中的子彈 棧的入口 出口的...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...