List集合 HashSet和雜湊表的學習

2021-09-25 10:02:24 字數 2193 閱讀 4486

list集合儲存元素特點:

1.有序(list集合中儲存有下標),存進去與取出來順序相同

2.可重複

//建立乙個list集合

//list a = new arraylist(); //查詢效率高,增刪效率低

list a = new linkedlist(); //增刪效率高,查詢效率低 //兩個都實現了list介面

//新增元素

a.add(50);

a.add(165);

a.add(10);

a.add(1,666);

//取得第三個元素

system.out.println(a.get(3));

system.out.println("-----------");

//迭代器

/*iterator diedai = a.iterator();

while(diedai.hasnext()) */

//list集合特有的遍歷

for(int i = 0;iarraylist集合底層是陣列,陣列有下標。

arraylist特性:

arraylist集合底層預設初始化容量是10,擴大後的容量是原容量的1.5倍

vector集合底層預設初始化容量也是10.擴大之後的容量是原容量的2倍

優化arraylist和vector

儘量減少擴容操作,擴容需要陣列拷貝,很耗記憶體

一般推薦在建立集合時在指定初始化容量

hashset底層實際上是乙個hashmap.雜湊表/雜湊表

hashmap底層就是雜湊表

雜湊表:陣列和單向鍊錶的結合

雜湊表本質是乙個陣列,只不過這個陣列中的每乙個元素又是單向鍊錶

object key;

objcet value;

final int hash;

entry next;

final int hash;雜湊值 –-通過key呼叫hashcode方法得到的值,在通過「雜湊演算法」得出的值。

在單向鍊錶中每乙個節點的hash值是相同的。代表的是陣列的下標。

objcet get(object key);
hashmap新增元素方法

void put(object key,object value);
雜湊表的增刪和查詢效率都是很高*

1.hashset底層實際上是乙個hashmap,hashmap底層採用了雜湊表資料結構

2.雜湊表又叫雜湊表,雜湊表底層是乙個陣列,這個陣列中每乙個元素是乙個單向鍊錶。每個單向鍊錶都有乙個獨一無二的hash值,代表陣列的下標

在某個單向鍊錶中的每乙個節點上的hash值是相等的。hash值實際上是key呼叫hashcode方法,在通過「hash fuction」轉換成的值。

3.如何向雜湊表中新增元素:

先呼叫被儲存的key的hashcode方法,經過某個演算法得出hash值,如果在這個雜湊表中不存在這個hash值,則直接加入元素。如果該hash值已經

存在,繼續呼叫key之間的equals方法,如果equals方法返回false,則將該元素新增,如果equals方法返回true,則放棄新增該元素

4.hashset其實是hashmap中的key部分。hashset有的特點,hashmap中的key也有相同的特點

5.hashmap和hashset初始化容量都是16.預設載入因子是0.75

//hashset

//建立set集合

set s = new hashset();

//無序不可重複

s.add(150);

s.add(10);

s.add(600);

s.add(50);

//遍歷

iterator it = s.iterator();

while(it.hasnext())

//50 150 600 10

HashSet集合,map集合

hashset集合 遍歷通過迭代器iterator遍歷 它儲存的是無序集合 不允許重複資料新增 string strs new string 10 hs.toarray strs 轉換hashset集合到strs陣列中 hashset物件去重的原理 雜湊表依賴兩個方法hashcode 和equals...

java集合框架 HashSet

目錄 1.無序 唯一 2.真的唯一麼?3.先入為主 4.set的其他實現類 hashset實現了set介面,內部主要是通過hashmap實現的.1.無序 唯一public class hashsetdemo1 collections.addall set,str system.out.println...

API集合框架 Set集合之HashSet

set集合中不允許有相同的元素,並且取出集合中的元素的方式只有一種 迭代器 雜湊表 用於儲存元素與雜湊值對應的關係的容器 一.雜湊表特點 二.雜湊演算法原理 hashcode方法 hash element 因此從這裡可以看出來當我們從雜湊表中取出元素的時候,會發現與我們儲存元素的順序不一樣 三.雜湊...