日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java容器解析——HashMap

發(fā)布時(shí)間:2025/3/12 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java容器解析——HashMap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

HashMap是一個(gè)散列表,它存儲(chǔ)的內(nèi)容是鍵值對(duì)(key-value)映射。

1 定義

public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {}

由HashMap定義可以看出

1) HashMap<K,V>表示支持泛型
2)繼承自AbstractMap抽象類,實(shí)現(xiàn)對(duì)于Map容器的操作方法。
3)實(shí)現(xiàn)Map接口,實(shí)現(xiàn)Map接口中定義的諸多方法。
4)實(shí)現(xiàn)Cloneable接口,
5)實(shí)現(xiàn)Serializable接口,保證容器的可序列化。

2 屬性值

HashMap的屬性值含義已在代碼注釋中給出。

//默認(rèn)初始化容量大小,必須為2的冪的數(shù),初始為16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大容量值static final int MAXIMUM_CAPACITY = 1 << 30;//默認(rèn)負(fù)載因子為0.75,代表table的填充度static final float DEFAULT_LOAD_FACTOR = 0.75f;//鏈表長度閾值,HashMap采用數(shù)組+鏈表形式存儲(chǔ)//當(dāng)鏈表長度過長影響查詢效率,因此當(dāng)鏈表長度超過此值時(shí),鏈表轉(zhuǎn)為紅黑樹形式存儲(chǔ),以提升效率。static final int TREEIFY_THRESHOLD = 8;static final int UNTREEIFY_THRESHOLD = 6;//樹最小容量static final int MIN_TREEIFY_CAPACITY = 64;//存儲(chǔ)節(jié)點(diǎn)的數(shù)組transient Node<K,V>[] table;transient Set<Map.Entry<K,V>> entrySet;// 容器中鍵值對(duì)的數(shù)目transient int size;transient int modCount;//閾值,超過閾值則需要擴(kuò)容int threshold;//負(fù)載因子final float loadFactor;//節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)static class Node<K,V> implements Map.Entry<K,V> {//哈希值final int hash;//鍵值final K key;//對(duì)應(yīng)元素值V value;//指向下一個(gè)節(jié)點(diǎn)Node<K,V> next;//構(gòu)造方法Node(int hash, K key, V value, Node<K,V> next) {this.hash = hash;this.key = key;this.value = value;this.next = next;}public final K getKey() { return key; }public final V getValue() { return value; }public final String toString() { return key + "=" + value; }public final int hashCode() {return Objects.hashCode(key) ^ Objects.hashCode(value);}public final V setValue(V newValue) {V oldValue = value;value = newValue;return oldValue;}public final boolean equals(Object o) {if (o == this)return true;if (o instanceof Map.Entry) {Map.Entry<?,?> e = (Map.Entry<?,?>)o;if (Objects.equals(key, e.getKey()) &&Objects.equals(value, e.getValue()))return true;}return false;}}

3 構(gòu)造方法

1) 無參數(shù)

//采用默認(rèn)值初始化public HashMap() {this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted}

2)初始化容量為initialCapacity

public HashMap(int initialCapacity) {this(initialCapacity, DEFAULT_LOAD_FACTOR);}

3)初始化容量為initialCapacity,負(fù)載因子為loadFactor

public HashMap(int initialCapacity, float loadFactor) {if (initialCapacity < 0)throw new IllegalArgumentException("Illegal initial capacity: " +initialCapacity);if (initialCapacity > MAXIMUM_CAPACITY)initialCapacity = MAXIMUM_CAPACITY;if (loadFactor <= 0 || Float.isNaN(loadFactor))throw new IllegalArgumentException("Illegal load factor: " +loadFactor);this.loadFactor = loadFactor;this.threshold = tableSizeFor(initialCapacity);}

4)使用集合初始化

public HashMap(Map<? extends K, ? extends V> m) {this.loadFactor = DEFAULT_LOAD_FACTOR;putMapEntries(m, false);}//遍歷集合,將集合中元素添加到this容器中final void putMapEntries(Map<? extends K, ? extends V> m, boolean evict) {int s = m.size();if (s > 0) {if (table == null) { // pre-sizefloat ft = ((float)s / loadFactor) + 1.0F;int t = ((ft < (float)MAXIMUM_CAPACITY) ?(int)ft : MAXIMUM_CAPACITY);if (t > threshold)threshold = tableSizeFor(t);}else if (s > threshold)resize();for (Map.Entry<? extends K, ? extends V> e : m.entrySet()) {K key = e.getKey();V value = e.getValue();putVal(hash(key), key, value, false, evict);}}}

4 核心方法

方法含義時(shí)間復(fù)雜度
get(Object key)根據(jù)key獲取valueO(1)
put(K key, V value)存儲(chǔ)鍵值對(duì)O(1)
containsKey(Object key)是否包含keyO(n)
containsValue(Object value)是否包含valueO(n)
remove(Object key)刪除key對(duì)應(yīng)的valueO(n)
size()容器元素?cái)?shù)目O(1)
isEmpty()集合是否為空O(1)
clear()清空集合O(n)

5 put()方法

put()方法添加鍵值對(duì)。在分析put()過程中會(huì)發(fā)現(xiàn)HashMap中有紅黑樹的實(shí)現(xiàn)過程。HashMap是采用數(shù)組加鏈表的方式存儲(chǔ)數(shù)據(jù)的,當(dāng)鏈表長度過長時(shí)影響查找效率,因此當(dāng)鏈表長度超過一定閾值時(shí),將鏈表結(jié)構(gòu)轉(zhuǎn)為紅黑樹存儲(chǔ),提升查找效率。

//添加鍵為key,值為valuepublic V put(K key, V value) {return putVal(hash(key), key, value, false, true);}//添加鍵值對(duì)的方法final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {//使用到的中間變量Node<K,V>[] tab; Node<K,V> p; int n, i;//如果當(dāng)前數(shù)組為空,或者表長度為0,調(diào)用resize()方法重新分配容量if ((tab = table) == null || (n = tab.length) == 0)n = (tab = resize()).length;// 如果數(shù)組中對(duì)應(yīng)的索引位置的節(jié)點(diǎn)p為空,即不存在沖突情況,直接將鍵值對(duì)存儲(chǔ)在索引為i位置。if ((p = tab[i = (n - 1) & hash]) == null)tab[i] = newNode(hash, key, value, null);//若存在沖突,則需要遍歷鏈表尋找添加位置else {Node<K,V> e; K k;//如果節(jié)點(diǎn)p的鍵值與待存儲(chǔ)節(jié)點(diǎn)的鍵值相同,將p節(jié)點(diǎn)賦給e節(jié)點(diǎn)//后面會(huì)對(duì)e幾點(diǎn)進(jìn)行判斷,如果不為空,則將e節(jié)點(diǎn)的值賦值為value,采用替換的方式存儲(chǔ)新的鍵值對(duì),保證key的不可重復(fù)。if (p.hash == hash &&((k = p.key) == key || (key != null && key.equals(k))))e = p;// 如果p節(jié)點(diǎn)的類型是TreeNode,,說明此時(shí)p節(jié)點(diǎn)所處的鏈表已經(jīng)轉(zhuǎn)為紅黑樹存儲(chǔ)的方式。則調(diào)用紅黑樹的添加節(jié)點(diǎn)方法,添加新的節(jié)點(diǎn) else if (p instanceof TreeNode)e = ((TreeNode<K,V>)p).putTreeVal(this, tab, hash, key, value);//p節(jié)點(diǎn)的鍵不重復(fù),且當(dāng)前仍采用鏈表形式存儲(chǔ) ,則遍歷p節(jié)點(diǎn)為頭節(jié)點(diǎn)的鏈表else {//鏈表的遍歷,binCount記錄鏈表的長度for (int binCount = 0; ; ++binCount) {//查到到鏈表尾if ((e = p.next) == null) {// 將新鍵值對(duì)創(chuàng)建的節(jié)點(diǎn)插在鏈表尾p.next = newNode(hash, key, value, null);// 判斷鏈表長度有沒有過長,超過限定值,若超過,則需改為紅黑樹的形式存儲(chǔ)if (binCount >= TREEIFY_THRESHOLD - 1) // -1 for 1st// treeifyBin的作用在于將鏈表結(jié)構(gòu)改為紅黑樹存儲(chǔ)treeifyBin(tab, hash);break;}// 在遍歷鏈表過程中發(fā)現(xiàn)了有相同key的節(jié)點(diǎn),則采用替換方式。if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))break;p = e;}}//如果e節(jié)點(diǎn)不為空,說明存在相同key,則替換此節(jié)點(diǎn)的value,并返回舊的valueif (e != null) { // existing mapping for keyV oldValue = e.value;if (!onlyIfAbsent || oldValue == null)e.value = value;afterNodeAccess(e);return oldValue;}}++modCount;//更新鍵值對(duì)數(shù)目,并判斷是否需要擴(kuò)容。if (++size > threshold)resize();afterNodeInsertion(evict);return null;}//resize方法進(jìn)行重新分配容量final Node<K,V>[] resize() {//獲取舊表Node<K,V>[] oldTab = table;//舊表為空oldCap=0,否則oldCap = 舊表長度int oldCap = (oldTab == null) ? 0 : oldTab.length;// 存儲(chǔ)舊閾值int oldThr = threshold;int newCap, newThr = 0;//舊表不為空if (oldCap > 0) {// 原數(shù)組長度大于最大容量(1073741824) 則將threshold設(shè)為Integer.MAX_VALUE=2147483647// 接近MAXIMUM_CAPACITY的兩倍if (oldCap >= MAXIMUM_CAPACITY) {threshold = Integer.MAX_VALUE;return oldTab;}//沒有達(dá)到最大容量,則容量擴(kuò)大二倍,同時(shí)閾值擴(kuò)大二倍else if ((newCap = oldCap << 1) < MAXIMUM_CAPACITY &&oldCap >= DEFAULT_INITIAL_CAPACITY)newThr = oldThr << 1; // double threshold}else if (oldThr > 0) // initial capacity was placed in threshold// 如果原來的thredshold大于0則將容量設(shè)為原來的thredshold// 在第一次帶參數(shù)初始化時(shí)候會(huì)有這種情況newCap = oldThr;else { // zero initial threshold signifies using defaults// 在默認(rèn)無參數(shù)初始化會(huì)有這種情況newCap = DEFAULT_INITIAL_CAPACITY;newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY);}if (newThr == 0) {// loadFactor 哈希負(fù)載因子 默認(rèn)0.75,可在初始化時(shí)傳入,16*0.75=12 可以放12個(gè)鍵值對(duì)float ft = (float)newCap * loadFactor;newThr = (newCap < MAXIMUM_CAPACITY && ft < (float)MAXIMUM_CAPACITY ?(int)ft : Integer.MAX_VALUE);}//設(shè)置新的臨界值threshold = newThr;@SuppressWarnings({"rawtypes","unchecked"})//擴(kuò)容操作,創(chuàng)建新的容量大小的數(shù)組newTabNode<K,V>[] newTab = (Node<K,V>[])new Node[newCap];table = newTab;// 如果原來的table有數(shù)據(jù),則將數(shù)據(jù)復(fù)制到新的table中if (oldTab != null) {// for循環(huán)遍歷舊數(shù)組for (int j = 0; j < oldCap; ++j) {Node<K,V> e;if ((e = oldTab[j]) != null) {oldTab[j] = null;if (e.next == null)//如果當(dāng)前節(jié)點(diǎn)不存在下一個(gè)節(jié)點(diǎn),即此節(jié)點(diǎn)為存儲(chǔ)在數(shù)組中的節(jié)點(diǎn)//將節(jié)點(diǎn)e添加至數(shù)組索引為e.hash & (newCap - 1)的位置。newTab[e.hash & (newCap - 1)] = e;else if (e instanceof TreeNode)//如果節(jié)點(diǎn)e是TreeNode// 如果e節(jié)點(diǎn)時(shí)紅黑樹的節(jié)點(diǎn),則調(diào)用TreeNode的split()方法// 由于紅黑樹的知識(shí)也是比較復(fù)雜,本篇中不做過多解釋。這里只說明樹的各類方法的作用。split()方法是拆分紅黑樹,以實(shí)現(xiàn)節(jié)點(diǎn)的重新映射。((TreeNode<K,V>)e).split(this, newTab, j, oldCap);else { // 如果e節(jié)點(diǎn)是鏈表中的節(jié)點(diǎn),則實(shí)現(xiàn)鏈表的復(fù)制//鏈表的復(fù)制操作,即將舊表中的含有e節(jié)點(diǎn)的鏈表復(fù)制到新表中Node<K,V> loHead = null, loTail = null;Node<K,V> hiHead = null, hiTail = null;Node<K,V> next;do {next = e.next;if ((e.hash & oldCap) == 0) {if (loTail == null)loHead = e;elseloTail.next = e;loTail = e;}else {if (hiTail == null)hiHead = e;elsehiTail.next = e;hiTail = e;}} while ((e = next) != null);if (loTail != null) {loTail.next = null;newTab[j] = loHead;}if (hiTail != null) {hiTail.next = null;newTab[j + oldCap] = hiHead;}}}}}//返回?cái)U(kuò)容后的新表return newTab;}

6 get()方法

get()方法根據(jù)鍵值獲取元素值.

public V get(Object key) {Node<K,V> e;//查找鍵值為key的節(jié)點(diǎn),查找成功返回value值,否則返回null。return (e = getNode(hash(key), key)) == null ? null : e.value;}final Node<K,V> getNode(int hash, Object key) {Node<K,V>[] tab; Node<K,V> first, e; int n; K k;//檢查集合不為空,將first指向第一個(gè)節(jié)點(diǎn)if ((tab = table) != null && (n = tab.length) > 0 &&(first = tab[(n - 1) & hash]) != null) {if (first.hash == hash && // always check first node((k = first.key) == key || (key != null && key.equals(k))))//查找到節(jié)點(diǎn),返回節(jié)點(diǎn)return first;if ((e = first.next) != null) {// 如果節(jié)點(diǎn)e類型為紅黑樹的節(jié)點(diǎn)類型,則調(diào)用getTreeNode()方法返回節(jié)點(diǎn)。getTreeNode()方法是完成紅黑樹的查找操作。if (first instanceof TreeNode)return ((TreeNode<K,V>)first).getTreeNode(hash, key);// 如果節(jié)點(diǎn)e為普通類型的節(jié)點(diǎn),則遍歷鏈表查找do {if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))return e;} while ((e = e.next) != null);}}//沒有查找到返回nullreturn null;}

7 contains()方法

//判斷是否包含鍵keypublic boolean containsKey(Object key) {//同樣采用getNode方法進(jìn)行查找,查找結(jié)果不為null則說明存在return getNode(hash(key), key) != null;}//是否包含valuepublic boolean containsValue(Object value) {Node<K,V>[] tab; V v;if ((tab = table) != null && size > 0) {for (int i = 0; i < tab.length; ++i) {for (Node<K,V> e = tab[i]; e != null; e = e.next) {if ((v = e.value) == value ||(value != null && value.equals(v)))return true;}}}return false;}

8 remove()方法

@Overridepublic boolean remove(Object key, Object value) {return removeNode(hash(key), key, value, true, true) != null;}//刪除節(jié)點(diǎn)final Node<K,V> removeNode(int hash, Object key, Object value,boolean matchValue, boolean movable) {Node<K,V>[] tab; Node<K,V> p; int n, index;if ((tab = table) != null && (n = tab.length) > 0 &&(p = tab[index = (n - 1) & hash]) != null) {Node<K,V> node = null, e; K k; V v;//查找節(jié)點(diǎn)操作if (p.hash == hash &&((k = p.key) == key || (key != null && key.equals(k))))node = p;else if ((e = p.next) != null) {// 紅黑樹的節(jié)點(diǎn)查找if (p instanceof TreeNode)node = ((TreeNode<K,V>)p).getTreeNode(hash, key);else {//鏈表的節(jié)點(diǎn)查找do {if (e.hash == hash &&((k = e.key) == key ||(key != null && key.equals(k)))) {node = e;break;}p = e;} while ((e = e.next) != null);}}if (node != null && (!matchValue || (v = node.value) == value ||(value != null && value.equals(v)))) {//查找到的節(jié)點(diǎn)為紅黑樹節(jié)點(diǎn),則調(diào)用紅黑樹的刪除節(jié)點(diǎn)方法if (node instanceof TreeNode)((TreeNode<K,V>)node).removeTreeNode(this, tab, movable);else if (node == p)// 查找到的節(jié)點(diǎn)屬于數(shù)組table中的元素,則直接將tab中的元素重新賦值tab[index] = node.next;else//鏈表的節(jié)點(diǎn)賦值p.next = node.next;++modCount;//更新數(shù)目--size;afterNodeRemoval(node);return node;}}return null;}

9 小結(jié)

HashMap采用數(shù)組+鏈表的方式存儲(chǔ)鍵值對(duì),當(dāng)鏈表長度超過限定閾值,則將鏈表結(jié)構(gòu)調(diào)整為紅黑樹,提高查找效率。通過源碼可以看出在添加鍵值對(duì)時(shí)沒有null檢查,因此HashMap是允許null值的。

10 對(duì)比

1) HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許。
2) 由于HashMap非線程安全,Hashtable是線程安全的。
3)HashMap增加了紅黑樹。

總結(jié)

以上是生活随笔為你收集整理的Java容器解析——HashMap的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

av在线免费播放 | 天天操天天射天天爽 | 91av电影在线观看 | 91污视频在线 | 国产精品破处视频 | 日韩精品一区二区三区免费观看视频 | 在线免费观看一区二区三区 | 91在线播放国产 | 国产久草在线观看 | 欧美激情精品久久久久久免费印度 | 久久视频在线 | av三区在线 | 亚洲国产字幕 | 麻豆影音先锋 | 欧美一区在线看 | 98久9在线 | 免费 | 日韩xxxbbb| 在线免费观看国产视频 | 久久国产热视频 | 成人高清在线观看 | 日韩手机在线观看 | 亚洲va在线va天堂va偷拍 | 日日夜夜狠狠操 | 国产福利在线 | 国产高清专区 | 国产网红在线 | 日本精品一区二区三区在线播放视频 | 午夜av色| 久久国产精品一二三区 | 久久成人精品电影 | 啪啪动态视频 | 天天色中文 | 久久另类小说 | 国产不卡免费av | 毛片网站在线观看 | 特黄一级毛片 | 免费观看91| 91精品国产自产老师啪 | 日韩美一区二区三区 | 亚洲永久精品在线 | 免费看片网址 | 日韩一区二区三免费高清在线观看 | 欧美日韩精品电影 | 国产97视频 | 亚洲va欧美va人人爽春色影视 | 一区二区三区国产精品 | 91av蜜桃| 欧美aaa级片| 欧美精品久久久久久久亚洲调教 | 中文日韩在线视频 | 久久国产欧美日韩 | 一本一道久久a久久综合蜜桃 | 中文字幕文字幕一区二区 | 国产麻豆电影 | www.五月激情.com | 精品一区二区综合 | 久久久免费看视频 | 国产精品99久久久久久有的能看 | 奇米网777 | 成人黄色电影视频 | 91传媒在线观看 | 久久精品欧美一 | 色偷偷男人的天堂av | 手机在线永久免费观看av片 | 麻豆视频成人 | 五月亚洲 | av免费在线网 | 日韩美女免费线视频 | 国产精品av一区二区 | 一区二区三区在线免费 | 国产精品色视频 | 97在线观看免费观看 | 在线小视频国产 | 97成人精品区在线播放 | 黄色软件视频大全免费下载 | 国产日韩三级 | 最近中文字幕高清字幕在线视频 | 免费观看一区二区 | 人人干狠狠操 | 久久久国产一区二区三区四区小说 | 国产视频中文字幕 | 99在线观看免费视频精品观看 | 日韩精品免费一区二区三区 | 天天操天天射天天插 | 国产成a人亚洲精v品在线观看 | 亚洲艳情 | 日本不卡一区二区三区在线观看 | 国产亚洲午夜高清国产拍精品 | 天天天干 | 日韩精品一区二区三区第95 | 久久亚洲私人国产精品va | 十八岁以下禁止观看的1000个网站 | 一区二区激情视频 | 国产精品午夜av | 97视频资源 | 国产做a爱一级久久 | 9999激情| 欧美一区二视频在线免费观看 | 中文字幕亚洲综合久久五月天色无吗'' | 欧美一区二区三区激情视频 | 国产精品情侣视频 | 国产免费一区二区三区网站免费 | 天天综合狠狠精品 | 久久精品一区二区国产 | 免费看av片网站 | 亚洲aaa级| 可以免费观看的av片 | 国产精品乱码久久久久久1区2区 | 国产麻豆视频 | 午夜久久视频 | 人人插人人玩 | 日韩91av| 国产99亚洲 | 国产精品毛片久久久久久 | 亚洲视频中文 | 99视频在线免费看 | 日韩一区二区免费播放 | 国产精品久久久久久久久久久久午夜 | 免费看污污视频的网站 | 成人免费视频网站 | 欧美小视频在线 | av不卡中文 | 天天综合网在线观看 | 国产免费叼嘿网站免费 | aaa黄色毛片 | 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩电影在线观看中文字幕 | 一区二区精品在线观看 | 黄色a在线 | 超碰在线日韩 | 亚洲视频2 | 99热国产精品 | 天天操天天操天天操天天 | 黄色软件视频大全免费下载 | 免费av在线| 亚洲综合在线视频 | 国产精品综合久久 | 国产欧美精品一区二区三区 | 99精品视频免费在线观看 | 久久国产精品视频免费看 | 日韩欧美综合在线视频 | 天天se天天cao天天干 | 欧美日韩一区二区三区免费视频 | 黄色小网站在线观看 | 午夜在线免费视频 | 91视频免费看片 | 一区二区三区电影大全 | 激情婷婷亚洲 | 成年人黄色免费视频 | 九九视频在线观看视频6 | 99九九热只有国产精品 | 欧美韩日精品 | 99精品偷拍视频一区二区三区 | 婷婷丁香久久五月婷婷 | 最新高清无码专区 | 日本精品久久久久中文字幕5 | 久久美女精品 | 91手机视频在线 | 欧美日韩性生活 | 青草视频在线播放 | 黄色片网站 | 国产片免费在线观看视频 | 久久这里精品视频 | 夜夜夜夜爽 | 免费日韩一区二区三区 | 国产精品18久久久久久vr | 国产伦精品一区二区三区照片91 | 欧美性受极品xxxx喷水 | 国内精品国产三级国产aⅴ久 | 一级免费黄色 | 日日夜夜中文字幕 | 色综合天天做天天爱 | 日本最新中文字幕 | 成人xxxx| 91福利影院在线观看 | 日韩视频在线观看视频 | 五月天久久 | 天天爱综合 | 三级黄色片在线观看 | 能在线观看的日韩av | 99r国产精品 | 中文字幕在线日亚洲9 | 中文字幕一区二区三区在线观看 | 九色porny真实丨国产18 | 日韩国产高清在线 | 免费a网| 亚洲国产中文字幕在线观看 | 97品白浆高清久久久久久 | 精品视频在线视频 | 狠色在线| 久操伊人 | 色香蕉在线 | 337p欧美| 久久视精品 | 久久国产精品免费一区 | 日韩精品一区二区在线观看 | 久久99在线观看 | 天天色图 | 免费a网站 | 精品国产综合区久久久久久 | 成人久久综合 | 综合色影院 | 久久久黄视频 | 国产美女精品视频 | 中文字幕 国产 一区 | 91成熟丰满女人少妇 | 国产96视频| 久久综合狠狠综合久久狠狠色综合 | 国产中文字幕av | 97精品在线视频 | 日韩三级视频在线观看 | 国产精品亚州 | 日韩精品中文字幕久久臀 | 国产一区二区三精品久久久无广告 | 久久三级视频 | 成人国产精品久久久久久亚洲 | 国产成人精品久久 | 99综合视频 | 久久亚洲免费 | 国产精品青青 | 国产一区视频导航 | 亚洲欧美日韩一级 | 四虎国产精品免费观看视频优播 | 国产美女久久久 | 黄色片视频免费 | 国产一级在线免费观看 | 欧美三人交| 国产精品24小时在线观看 | 黄a在线看| 麻豆视频免费入口 | 久久久久久久久久久免费av | 日韩精品一区不卡 | 亚洲国产中文在线 | 人人干人人艹 | 一区 二区电影免费在线观看 | 97av影院 | 日韩午夜精品 | 欧美日韩国产高清视频 | 久久1区| 欧美在线视频一区二区 | 热九九精品 | 天天想夜夜操 | 欧美成人tv | 国产精品女视频 | 日韩在线观看 | 国产精品一区二区中文字幕 | 在线看片91| 夜夜夜夜操| 香蕉精品视频在线观看 | 成人av免费电影 | 亚洲精选久久 | 久久精品一二三区白丝高潮 | 92国产精品久久久久首页 | 日韩电影中文字幕在线 | 亚洲影音先锋 | 在线播放一区 | 亚洲精品综合欧美二区变态 | 中文字幕之中文字幕 | av字幕在线 | 五月天中文字幕mv在线 | 黄色片网站 | 国产丝袜网站 | 天天射天天色天天干 | 好看av在线| 免费黄色在线网址 | 在线观看第一页 | 欧美性另类 | 国内精品毛片 | 国产精品免费人成网站 | 蜜臀久久99精品久久久酒店新书 | 波多野结衣综合网 | 粉嫩av一区二区三区入口 | 91视频电影 | 久久在线视频精品 | 国产免费亚洲 | 91在线www| 激情av一区二区 | 中文字幕人成乱码在线观看 | 亚洲永久字幕 | 亚洲视频第一页 | 999视频网站 | 91片网| 国产亚洲免费的视频看 | 国产不卡在线视频 | 亚州国产视频 | 在线观看麻豆av | 国产69久久久欧美一级 | 亚洲精品乱码久久久久v最新版 | 最近日本中文字幕a | 狠狠做深爱婷婷综合一区 | 一本到视频在线观看 | 色综合网在线 | 久久久黄色av | 欧美国产在线看 | 最新av中文字幕 | 国产理伦在线 | 日韩精品免费一区二区在线观看 | 久久久久久综合网天天 | 国产999在线观看 | 在线观看一区二区精品 | 亚洲精品美女久久17c | 丁香六月中文字幕 | 色就色,综合激情 | 黄色av电影免费观看 | 一区二区三区国 | 最新中文字幕在线播放 | 日韩国产在线观看 | 国产欧美精品一区二区三区 | 五月天欧美精品 | 91人人爽久久涩噜噜噜 | 久久久免费观看完整版 | 国产福利91精品张津瑜 | 免费观看国产精品 | 五月婷婷播播 | 婷婷色在线观看 | 成人免费视频视频在线观看 免费 | 国产手机视频在线 | 夜夜视频| 黄色大全视频 | 欧美日韩精品网站 | 在线视频免费观看 | 91九色在线视频观看 | 日韩素人在线观看 | 国产福利小视频在线 | 在线看小早川怜子av | 一级免费黄色 | 在线观看欧美成人 | 色视频国产直接看 | 91av福利视频| 色综合久久精品 | 午夜精品久久久久久久99 | 激情久久小说 | 青草视频在线 | 免费观看黄色av | 在线视频欧美精品 | 天天操天天综合网 | 狠狠干成人综合网 | www.91成人 | 免费日韩 精品中文字幕视频在线 | 中文字幕在线久一本久 | 久久久国产成人 | 精品视频一区在线 | 亚洲国产欧美在线人成大黄瓜 | 久久夜色精品国产欧美一区麻豆 | 美女网站久久 | 国产精品18p | 有码中文字幕在线观看 | 91伊人影院| 亚洲aⅴ一区二区三区 | 国产视频一区二区三区在线 | 日本精品在线 | 狠狠色丁香婷婷综合基地 | 91麻豆精品国产自产 | 中文字幕视频播放 | 久久久国产一区二区 | 在线播放国产一区二区三区 | 日本爽妇网 | 日韩成人不卡 | 欧美另类tv| 欧美日韩另类在线观看 | 精品国产诱惑 | 国产毛片久久 | 69国产在线观看 | 91在线免费播放视频 | 久久精品视频3 | 欧美了一区在线观看 | 国产精品嫩草影院123 | 久久久久久久久久久黄色 | 精品 激情 | 天天狠狠干 | 国产午夜麻豆影院在线观看 | 视频在线一区 | 91精品视频免费 | 天天色欧美| 国内精品久久久久久久久久 | 日韩av手机在线看 | 91视频午夜 | 中文字幕免费高 | 成人黄色大片 | 天天操天天玩 | 激情在线网| 97av视频在线观看 | 欧美日韩视频精品 | 精品国产一区二区三区av性色 | 久久99精品国产 | 中文免费观看 | 精品国产成人av在线免 | 精品国产一区二区三区久久影院 | 国产精品1000| 91成人精品一区在线播放 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 97国产一区 | 国内精品久久久精品电影院 | 天天操天天操天天操天天操天天操 | 99久免费精品视频在线观看 | 人人射人人爽 | 国产黄在线播放 | 在线免费黄 | 国产激情小视频在线观看 | 91手机视频在线 | 91av在线免费 | 97操碰| 99热在线观看免费 | 久久亚洲婷婷 | av成人黄色 | 五月天六月丁香 | 九九九在线观看视频 | 四虎国产精品永久在线国在线 | 日韩欧美久久 | 狠狠色香婷婷久久亚洲精品 | 婷婷精品视频 | 国产亚洲在 | 久久久精品一区二区三区 | www.天天射.com | 天天干,天天干 | 国产精品福利午夜在线观看 | 91精品啪在线观看国产 | 国产成人精品在线播放 | www.成人久久 | 天天操,夜夜操 | 欧美一二在线 | 日韩字幕在线观看 | 亚洲综合在线一区二区三区 | 国产亚洲字幕 | 亚洲精品视频在线 | 成人在线播放av | 在线小视频你懂得 | 欧美性超爽 | 99视频在线观看一区三区 | 欧美在线99 | 日本99久久 | 97国产在线 | 91一区二区在线 | 四虎在线免费观看 | 少妇激情久久 | 狠狠躁夜夜躁人人爽超碰91 | 精品日韩视频 | 视频在线一区二区三区 | 激情久久五月天 | 蜜臀av网址| 亚洲激情小视频 | 婷婷丁香七月 | 亚洲一区网站 | 亚洲精品视频在 | av免费网站观看 | 国产日韩欧美在线观看视频 | 天天干天天拍 | 欧美午夜寂寞影院 | 欧美天堂视频在线 | 久久久久网址 | 久草线 | 天天操天天添天天吹 | 亚洲乱码久久久 | 看国产黄色片 | 五月婷婷在线视频观看 | 国产精品久久久久av | 九九九热精品免费视频观看网站 | 黄色软件在线观看 | 丁香婷婷激情网 | 91热爆视频| www.久久久久 | 美女国产精品 | 伊人伊成久久人综合网小说 | 综合激情久久 | 6080yy精品一区二区三区 | av一级在线观看 | 欧美日韩国产页 | 国产精品网址在线观看 | 午夜手机看片 | 日本少妇视频 | 欧美中文字幕第一页 | 欧美精品少妇xxxxx喷水 | 久久久久久蜜桃一区二区 | 色在线视频 | 久久久免费看 | 69av免费视频 | 俺要去色综合狠狠 | 高清一区二区三区av | 亚洲毛片视频 | 日韩一区二区三区不卡 | 亚洲欧美综合精品久久成人 | 亚洲黑丝少妇 | 在线观看你懂的网站 | 亚洲精选久久 | 国产精品ⅴa有声小说 | 久久不射电影院 | 亚洲高清精品在线 | 久久人人爽人人片av | 99一区二区三区 | 亚洲日韩欧美一区二区在线 | 五月天电影免费在线观看一区 | 久久麻豆精品 | 成人一级电影在线观看 | 九热精品| 色伊人网 | 丁香婷婷激情国产高清秒播 | 奇米7777狠狠狠琪琪视频 | 在线观看www.| 国产午夜精品一区二区三区在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | av免费观看在线 | 91免费观看视频网站 | 精一区二区 | 天天射天天操天天色 | 欧美精品免费在线 | 国产精品二区在线 | 97网在线观看 | 狠狠色噜噜狠狠狠狠2021天天 | 国内精品视频久久 | 国产一区二区在线观看视频 | 日韩毛片在线免费观看 | 这里有精品在线视频 | 网站你懂的 | 国产自偷自拍 | 日韩在线免费不卡 | 一本一道久久a久久精品蜜桃 | 五月婷婷黄色 | 91视视频在线直接观看在线看网页在线看 | 国产精品亚洲片在线播放 | 国产短视频在线播放 | 久久久久这里只有精品 | 操天天操 | 国产小视频在线免费观看视频 | 五月天com| 天天操夜夜操天天射 | 在线日本看片免费人成视久网 | 国产精品mm| 国产精品一区二区久久 | 狠狠操天天操 | av在线之家电影网站 | 伊人电影天堂 | 亚洲国内精品视频 | 日本精品一区二区三区在线播放视频 | 久久精品高清视频 | 美女视频又黄又免费 | 在线一区二区三区 | 色综合色综合久久综合频道88 | 四虎小视频 | 国产一区私人高清影院 | 在线免费视| 久久夜夜操 | 青青色影院 | 亚洲精品美女免费 | 成人免费色 | www久 | 亚洲精品欧美专区 | 天天爽天天爽天天爽 | 中文字幕激情 | 五月婷婷,六月丁香 | 狠狠88综合久久久久综合网 | 99国产在线 | 日日夜夜噜 | 亚洲电影影音先锋 | 国产高清区| 九九日九九操 | 2021国产在线 | 91精品国自产在线观看欧美 | 久草热久草视频 | 青草视频在线 | 91视频久久久久久 | 日日日天天天 | 9797在线看片亚洲精品 | 91福利视频一区 | 黄网站色欧美视频 | 手机成人在线电影 | 天天色天天色天天色 | 欧美日本不卡 | av看片在线 | 久草久热 | 成人h电影在线观看 | 国产不卡av在线播放 | 国际精品网 | 九九九视频精品 | av在线免费网站 | 99这里只有精品99 | 久久久久久久久影视 | 中文字幕免费高清av | 亚洲日本精品视频 | 91一区二区在线 | 国产中文欧美日韩在线 | 欧美精品国产精品 | 91视视频在线直接观看在线看网页在线看 | 免费av一级电影 | 91九色蝌蚪视频在线 | 狠狠干,狠狠操 | 亚洲男人天堂2018 | 日韩一区二区在线免费观看 | 国产精品高清免费在线观看 | 伊人色播 | 欧美欧美| 免费在线色电影 | 欧美日韩一二三四区 | 天天舔天天搞 | 国产流白浆高潮在线观看 | 天天色婷婷 | 亚州免费视频 | 丁香婷婷激情 | 999视频精品 | 国产精品激情 | 精品一区 在线 | 精品国产一区二区三区四 | 中文字幕精 | 一区在线免费观看 | 蜜桃av综合网 | 波多野结衣在线观看一区二区三区 | 视频国产在线观看18 | 狠狠色狠狠色综合日日92 | 国产精品手机看片 | 免费看v片网站 | 久久久久北条麻妃免费看 | 国产偷v国产偷∨精品视频 在线草 | 中文字幕在线观看免费高清完整版 | 日韩美女高潮 | av在线看网站 | 久久99精品久久久久久三级 | 超碰精品在线观看 | 在线免费三级 | 97在线资源 | 国产福利电影网址 | 日韩高清不卡一区二区三区 | 美女福利视频网 | 国产视频手机在线 | 免费日韩一级片 | 中文字幕在线观看亚洲 | 天天操福利视频 | 麻花豆传媒mv在线观看 | 国产免费不卡av | 亚洲精品男女 | 91在线免费视频观看 | 久草青青在线观看 | 97在线观视频免费观看 | 中文字幕免费 | 99r在线精品 | 亚洲精品动漫成人3d无尽在线 | 国产精品毛片一区 | 青青河边草观看完整版高清 | 色婷婷视频 | 国内外激情视频 | 超碰在线人人草 | 色射色 | 国产成人黄色网址 | 日日干天天射 | 欧美久久99 | 91片黄在线观 | 日韩精品一区二区三区免费观看 | 精品视频久久 | 国产手机在线视频 | 国产精品久久久久久久久久久免费 | 午夜 免费 | 国产日韩精品在线观看 | 成人小视频在线免费观看 | 久久精品波多野结衣 | 国产成人精品免费在线观看 | 国产精品24小时在线观看 | 亚洲视频免费在线观看 | 美女在线国产 | 亚洲一区久久久 | 亚洲视频久久久久 | 一区二区影视 | 成人av一二三区 | 国产老熟| 97精品国产 | 天天天操天天天干 | 亚洲欧美日韩国产精品一区午夜 | 激情久久久久久久久久久久久久久久 | 99精品欧美一区二区 | 国产精品免费在线 | 手机在线永久免费观看av片 | 久久高清av | 亚洲精品一区二区三区新线路 | 久久视频在线观看中文字幕 | 国产精品一区久久久久 | 国产精品资源 | 91精品久久久久久久久久久久久 | 国产精品原创av片国产免费 | 亚洲一区二区三区四区精品 | 国产精品成人一区二区三区吃奶 | 国产123av | 99久久久久成人国产免费 | 久久精品一区二 | 在线天堂v | 天堂av免费在线 | 亚洲精品欧美成人 | 免费看色的网站 | 久久免费黄色大片 | 久久久久久伊人 | 国产小视频国产精品 | 超碰在线中文字幕 | 国产成人av电影在线 | 国产欧美日韩视频 | 91精品国自产在线观看 | 麻花豆传媒一二三产区 | 亚洲在线视频观看 | 日韩午夜电影 | 久久精品这里都是精品 | 国产不卡免费视频 | 狠狠色丁香婷婷综合久小说久 | 玖玖视频精品 | 久久久久久久久毛片 | 欧美视频xxx| 九九在线高清精品视频 | 96精品视频 | 亚洲永久精品一区 | 午夜黄色 | 欧美日韩免费视频 | 国产精品久久久久三级 | 在线观看91精品国产网站 | 国产精品激情 | 丁香六月激情婷婷 | 日韩特黄一级欧美毛片特黄 | 亚洲国产精品传媒在线观看 | 99热在线免费观看 | 久插视频 | 免费欧美高清视频 | 激情婷婷综合网 | 亚洲欧美999 | 一级α片 | 免费人做人爱www的视 | 国产成人精品久久久 | 91精品久久久久久久91蜜桃 | 国产成人精品999在线观看 | 久久国产系列 | 久久久久国产精品厨房 | 久操中文字幕在线观看 | 日本久久综合视频 | 最新午夜 | 亚洲情婷婷 | 国内精品久久久久久久久久久 | 玖玖视频 | 91最新在线观看 | 久久艹国产| 日韩字幕在线观看 | 日本精品在线视频 | 国产玖玖精品视频 | 国产免费又爽又刺激在线观看 | 91中文在线视频 | 91九色蝌蚪视频 | 成人试看120秒 | 欧美资源 | 91久久丝袜国产露脸动漫 | 日韩视频在线观看免费 | 亚洲一区美女视频在线观看免费 | 成人精品一区二区三区中文字幕 | 丁香花在线观看免费完整版视频 | 久久综合精品一区 | 久久精品日产第一区二区三区乱码 | 久久er99热精品一区二区 | 欧美精品免费一区二区 | 国产丝袜制服在线 | 亚洲日日日 | 久久久久久久久久国产精品 | 亚洲专区 国产精品 | 国产黄色看片 | 人人cao| 亚洲高清视频在线观看 | 亚洲天堂社区 | 不卡的av片 | 在线观看亚洲国产精品 | 久久涩涩网站 | 成人动漫一区二区三区 | 久久国产精品二国产精品中国洋人 | 亚洲天堂精品 | 成人免费视频免费观看 | 黄色av电影网 | 免费观看视频的网站 | 免费视频资源 | 免费观看性生活大片 | 九九交易行官网 | 最新国产在线观看 | 国产一区二区三区高清播放 | 9999激情| 日日夜日日干 | 五月婷婷中文网 | 亚洲专区在线播放 | 精品伦理一区二区三区 | 精品99999 | 亚洲国产成人在线 | 在线播放国产精品 | 在线你懂 | 国产无遮挡又黄又爽在线观看 | 亚洲国产日韩在线 | 免费看黄在线网站 | 中文字幕日韩高清 | 在线观看黄av | 欧美91在线 | 精品欧美乱码久久久久久 | 国产日韩在线视频 | 奇米网网址 | 久久桃花网| 国产一区二区免费在线观看 | 91在线色 | 亚洲伦理电影在线 | 亚洲黄色小说网址 | 992tv又爽又黄的免费视频 | 麻豆一精品传二传媒短视频 | 精品一区二区免费在线观看 | 欧美va天堂在线电影 | 天天舔夜夜操 | 国产裸体视频网站 | 在线精品亚洲一区二区 | 日韩字幕在线观看 | 91正在播放 | 一级片视频在线 | 在线亚洲成人 | 久久久国产毛片 | 日本性久久 | 国产在线a不卡 | 福利二区视频 | 特级aaa毛片| 国产99久久久久久免费看 | 国产婷婷色 | 国产综合精品一区二区三区 | 91黄站| 97免费视频在线播放 | av九九| 精品国产乱码久久久久久1区二区 | 欧美黑人巨大xxxxx | 国产成人精品久久久 | 久久国内精品视频 | 激情伊人| 日韩免费三区 | 精品一区二区6 | 九九九九九精品 | 欧美性色黄大片在线观看 | 中日韩在线视频 | .国产精品成人自产拍在线观看6 | 91成人免费看 | 青青久草在线 | 一级免费黄视频 | 天天综合精品 | 久久国产精品久久久久 | 国产精品一区二区久久久 | 免费观看一级特黄欧美大片 | 激情五月婷婷网 | 日韩精品极品视频 | 天堂视频中文在线 | 97精品国产97久久久久久 | 亚洲码国产日韩欧美高潮在线播放 | 免费午夜网站 | 精品国产一区二 | 国产麻豆果冻传媒在线观看 | 欧美一级日韩免费不卡 | 国产黄在线观看 | 欧美精品久久久久久久久久白贞 | 日韩女同一区二区三区在线观看 | 正在播放国产一区二区 | 日本免费久久高清视频 | 91视频最新网址 | av网站免费线看精品 | 日韩精品最新在线观看 | 在线看的av网站 | 天堂麻豆 | 91在线视频 | 亚洲欧美国产精品久久久久 | 亚洲伦理精品 | 欧美日韩亚洲在线观看 | 五月婷婷六月丁香 | 久久黄色精品视频 | 天天看天天操 | 欧美天堂视频在线 | 国产极品尤物在线 | 91精品在线免费观看视频 | 日本高清久久久 | 欧美性一级观看 | 6080yy精品一区二区三区 | 91av福利视频 | 国产精品短视频 | 久久久午夜视频 | 96精品视频 | 国产久草在线 | 最近日本中文字幕a | 日韩精品一区二区三区第95 | 久久国产精品免费一区 | 国产成人免费在线观看 | 久久dvd | 久久精品视频3 | 成年人免费观看国产 | 人人插人人 | 日日草天天干 | 亚洲精品18日本一区app | 丁香婷婷综合色啪 | 精品国产一区二区三区av性色 | 亚洲精品乱码久久久久久9色 | 欧美粗又大 | 国产成人一区二区三区久久精品 | 免费看片成人 | 日批网站在线观看 | 特级xxxxx欧美| 91亚洲精品在线 | 国产在线观看地址 | 欧美色噜噜噜 | 国产精品精品视频 | 国内精品久久久久久久久久久 | 国产九色视频在线观看 | 欧美九九视频 | 91精品专区 | 欧美日韩不卡在线观看 | 日韩在线不卡 | 午夜精品一区二区三区视频免费看 | 在线av资源 | 免费男女羞羞的视频网站中文字幕 | 2019久久精品 | 亚洲精品动漫久久久久 | 黄在线免费观看 | 91精品国产乱码 | 久草在线视频资源 | 久久视频精品在线 | 成人久久18免费网站图片 | 国产成人在线播放 | www.色午夜.com | www.久久色 | 国产成人精品久久亚洲高清不卡 | 亚州国产精品久久久 | 伊人春色电影网 | 亚洲不卡av一区二区三区 | 91自拍视频在线 | 美女视频黄在线观看 | 久久一视频| 国产精品video爽爽爽爽 | 色视频在线免费 | 亚洲一二三在线 | 韩国精品福利一区二区三区 | 久久99久久99精品中文字幕 | 麻豆一区二区三区视频 | 在线观看国产v片 | 久久精品美女视频 | 国产尤物一区二区三区 | 日韩在线视频免费播放 | 久久五月精品 | 久久中文字幕导航 | 欧美色精品天天在线观看视频 | 久久人91精品久久久久久不卡 | 成人一级视频在线观看 | 五月天婷婷免费视频 | 欧美激情综合色综合啪啪五月 | 91网页版免费观看 | 色94色欧美| 久久久久五月天 | 91一区二区三区久久久久国产乱 | 国产91粉嫩白浆在线观看 | 国产福利在线不卡 | 国产很黄很色的视频 | 精品福利视频在线 | av免费看在线 | 日韩欧美在线视频一区二区三区 | 在线成人小视频 | 日韩在线二区 | 日韩黄色在线观看 | www.888av | 福利一区在线视频 | 午夜电影 电影 | 最新日韩电影 | 久产久精国产品 | 久久久综合 | 国产大片免费久久 | 六月丁香激情综合色啪小说 | 狠狠成人 | 日本精品一区二区三区在线播放视频 | 国产精品a级 | 草 免费视频| 十八岁免进欧美 | 亚洲欧洲精品视频 | 日韩av一区二区三区在线观看 | www最近高清中文国语在线观看 | 伊人资源站 | 国产不卡一区二区视频 | 国产不卡精品视频 | 色中色资源站 | 亚洲精品影院在线观看 | 精品久久免费看 | 福利电影一区二区 | 黄网站色成年免费观看 | 亚洲激情 在线 | 中文字幕视频一区 | 青草视频网 | 免费人做人爱www的视 | 久久99精品波多结衣一区 | 美女网站一区 | 国产小视频在线观看免费 | 久久99精品国产99久久 | 婷婷av色综合 | 久久久久久黄色 | 午夜免费视频网站 | 天天操天天操天天 | 51久久成人国产精品麻豆 | 中文字幕在线观看2018 | 国产香蕉久久精品综合网 | 国产精品亚州 | 久久99久久99精品免观看粉嫩 | 午夜av剧场 | 香蕉精品视频在线观看 | 91麻豆产精品久久久久久 | 久久99日韩 | 日韩激情在线视频 | 欧美色伊人 | 欧美日韩中文视频 | 不卡中文字幕在线 | 久久精品91视频 |