棧、佇列
陣列
鍊錶
紅黑樹
雜湊表
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:
底層實現:鍊錶 所以查詢慢,增刪快:
特有方法set集合也是collection集合的子類 主要特點有: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。
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個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...