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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

#HashMap

發布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #HashMap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#####前言: 從今天開始我將介紹Map系列接口,我認為Map是集合類中概念最多,實現最復雜的一類接口。在講解過程中會涉及到不少數據結構的知識,這部分知識點需要讀者額外花一定時間系統學習。

HashMap是Map的一個實現類,這個類很重要,是很多集合類的實現基礎,底層用的就是他,比如前文中講到的HashSet,下文要講到的LinkedHashMap。我們可以將HashMap看成是一個小型的數字字典,他以key-value的方式保存數據,Key全局唯一,并且key和value都允許為null。

HashMap底層是通過維護一個數據來保存元素。當創建HashMap實例的時候,會通過指定的數組大小以及負載因子等參數創建一個空的數組,當在容器中添加元素的時候,首先會通過hash算法求得key的hash值,再根據hash值確定元素在數組中對應的位置,最后將元素放入數組對應的位置。在添加元素的過程中會出現hash沖突問題,沖突處理的方法就是判斷key值是否相同,如果相同則表明是同一個元素,替換value值。如果key值不同,則把當前元素添加到鏈表尾部。這里引出了一個概念,就是HashMap的數據結構其實是:hash表+單向鏈表。通過鏈表的方式把所有沖突元素放在了數組的同一個位置。但是當鏈表過長的時候會影響HashMap的存取效率。因此我們在實際使用HashMap的時候就需要考慮到這個問題,那么該如何控制hash沖突的出現頻率呢?HashMap中有一個負載因子(loadFactor)的概念。容器中實際存儲元素的size = loadFactor * 數組長度,一旦容器元素超出了這個size,HashMap就會自動擴容,并對所有元素重新執行hash操作,調整位置。好了說了這么多,下面就開始介紹源碼實現。

#####一、Node結構介紹 Node類實現了Map.Entry接口,他是用于存放數據的實體,是容器中存放數據的最小單元。Node的數據結構是一個單向鏈表,為什么選用這種結構?那是因前文講到的,HashMap存放數據的結構是:hash表+單向鏈表。下面給出定義Node的源碼:

static class Node<K,V> implements Map.Entry<K,V> {final int hash;final K key;V value;Node<K,V> next;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;} }

這個結構非常簡單,定義了一個hash和key,hash值是對key進行hash以后得到的。value保存實際要存儲的對象。next指向下一個節點。當hash沖突以后,就會將沖突的元素放入這個單向鏈表中。

#####二、創建HashMap 創建HashMap實例有四個構造方法,這里著重介紹一個,看源碼:

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); }// HashMap的數組大小是有講究的,他必須是2的冪,這里通過一個牛逼哄哄的位運算算法,找到大于或等于initialCapacity的最小的2的冪 static final int tableSizeFor(int cap) {int n = cap - 1;n |= n >>> 1;n |= n >>> 2;n |= n >>> 4;n |= n >>> 8;n |= n >>> 16;return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1; }

構造方法中有兩個參數,第一個initialCapacity定義map的數組大小,第二個loadFactor意為負載因子,他的作用就是當容器中存儲的數據達到loadFactor限度以后,就開始擴容。如果不設定這樣參數的話,loadFactor就等于默認值0.75。但是細心的你會發現,容器創建以后,并沒有創建數組,原來table是在第一次被使用的時候才創建的,而這個時候threshold = initialCapacity * loadFactor。 這才是這個容器的真正的負載能力。
tableSizeFor這個方法的目的是找到大于或等于initialCapacity的最小的2的冪,這個算法寫的非常妙,值得我們細細品味。
假設cap=7
第一步 n = cap -1 = 6 = 00000110
第二步 n|= n>>>1:
n>>>1表示無符號右移1位,那么二進制表示為00000011,此時00000110 | 00000011 = 00000111
第三步 n|=n>>>2:
00000111 & 00000001 = 00000111
第四部 n|=n>>>4:
00000111 & 00000000 = 00000111
第五步 n|=n>>>8;
00000111 & 00000000 = 00000111
第六步 n|=n>>>16;
00000111 & 00000000 = 00000111
最后 n + 1 = 00001000
其實他的原理很簡單,第一步先對cap-1是因為如果cap原本就是一個2的冪,那么最后一步加1,會使得這個值變成原來的兩倍,但事實上原來這個cap就是2的冪,就是我們想要的值。接下來后面的幾步無符號右移操作是把高位的1補到低位,經過一系列的位運算以后的值必定是000011111...他的低位必定全是1,那么最后一步加1以后,這個值就會成為一個00010000...(2的冪次),這就是通過cap找到2的冪的方法。看到如此簡約高效的算法,我服了。

#####三、put添加元素 添加一個元素是所有容器中的標配功能,但是至于添加方式那就各有千秋,Map添加元素的方式是通過put,向容器中存入一個Key-Value對。下面我將詳細介紹put的實現過程,這個方法非常重要,吃透了這個方法的實現原理,基本也就能搞懂HashMap是怎么一回事了。

public V put(K key, V value) {return putVal(hash(key), key, value, false, true); }// 獲取key的hash值,這里講hash值的高16位右移和低16位做異或操作,目的是為了減少hash沖突,使hash值能均勻分布。 static final int hash(Object key) {int h;return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }final V putVal(int hash, K key, V value, boolean onlyIfAbsent,boolean evict) {Node<K,V>[] tab; Node<K,V> p; int n, i;// 如果是第一次添加元素,那么table是空的,首先創建一個指定大小的table。if ((tab = table) == null || (n = tab.length) == 0)n = (tab = resize()).length;// 通過對hash與數組長度的與操作,確定key對應的數組位置,然后讀取該位置中的元素。if ((p = tab[i = (n - 1) & hash]) == null)// 如果當前位置為空,那么就在當前數組位置,為這個key-value創建一個節點。tab[i] = newNode(hash, key, value, null);else {// 如果當前位置已經存在元素,那么就要逐個讀取這條鏈表的元素。Node<K,V> e; K k;// 如果key和hash值都等于當前頭元素,那么這存放的兩個元素是相同的。if (p.hash == hash &&((k = p.key) == key || (key != null && key.equals(k))))e = p;// 如果當前位置的鏈表類型是TreeNode,那么就講當前元素以紅黑樹的形式存放。else if (p instanceof TreeNode)e = ((TreeNode<K,V>)p).putTreeVal(this, tab, hash, key, value);else {for (int binCount = 0; ; ++binCount) {// 遍歷鏈表的所有元素,如果都未找到相同key的元素,那么說明這個元素并不在容器中存在,因此將他添加到鏈表尾部,并結束遍歷。if ((e = p.next) == null) {p.next = newNode(hash, key, value, null);if (binCount >= TREEIFY_THRESHOLD - 1) // -1 for 1sttreeifyBin(tab, hash);break;}// 如果在遍歷過程中,發現了相同的key值,那么就結束遍歷。if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))break;p = e;}}// 如果e != null 說明在當前容器中,存在一個相同的key值,那么就要替換key所對應的valueif (e != null) {V oldValue = e.value;if (!onlyIfAbsent || oldValue == null)e.value = value;// 這是專門留給LinkedHashMap調用的回調函數,LinkedHashMap會實現這個方法。從這里可以看出,HashMap充分的考慮了他的擴展性。afterNodeAccess(e);return oldValue;}}++modCount;// 這里判斷當前元素的數量是否超過了容量的上限,如果超過了,就要重新進行擴容,并對當前元素重新hash,所以再次擴容以后的元素位置都是會改變的。if (++size > threshold)resize();// 此方法也是HashMap留給LinkedHashMap實現的回調方法。透露一下,因為LinkedHashMap在插入元素以后,都會維護他的一個雙向鏈表afterNodeInsertion(evict);return null; }

#####四、get獲取元素 使用HashMap有一個明顯的優點,就是他的存取時間開銷基本維持在O(1),除非在數據量大了以后hash沖突的元素多了以后,對其性能有一定的影響。那么現在介紹的get方法很好的體現了這個優勢。

public V get(Object key) {Node<K,V> e;return (e = getNode(hash(key), key)) == null ? null : e.value; }// 同一個key的hash值是相同的,通過hash就可以求出數組的下標,便可以在O(1)的時間內獲取元素。 final Node<K,V> getNode(int hash, Object key) {Node<K,V>[] tab; Node<K,V> first, e; int n; K k;// 在容器不為空,并且對應位置也存在元素的情況下,那么就要遍歷鏈表,找到相同key值的元素。if ((tab = table) != null && (n = tab.length) > 0 &&(first = tab[(n - 1) & hash]) != null) {// 如果第一個元素的key值相同,那么這個元素就是我們要找的。if (first.hash == hash &&((k = first.key) == key || (key != null && key.equals(k))))return first;// 如果第一個元素不是我們要找的,接下來就遍歷鏈表元素,如果遍歷完了以后都沒找到,說明不存在這個key值if ((e = first.next) != null) {if (first instanceof TreeNode)return ((TreeNode<K,V>)first).getTreeNode(hash, key);do {if (e.hash == hash &&((k = e.key) == key || (key != null && key.equals(k))))return e;} while ((e = e.next) != null);}}return null; }

#####五、remove刪除元素 刪除元素的實現原理和put,get都類似。remove通過給定的key值,找到在hash表中對應的位置,然后找出相同key值的元素,對其刪除。

public V remove(Object key) {Node<K,V> e;return (e = removeNode(hash(key), key, null, false, true)) == null ?null : e.value; }// 通過key的hash值定位元素位置,并對其刪除。這里的實現和put基本相同,我只在不同的地方做一下解釋。 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;if (p.hash == hash &&((k = p.key) == key || (key != null && key.equals(k))))node = p;else if ((e = p.next) != null) {if (p instanceof TreeNode)node = ((TreeNode<K,V>)p).getTreeNode(hash, key);else {do {if (e.hash == hash &&((k = e.key) == key ||(key != null && key.equals(k)))) {node = e;break;}p = e;} while ((e = e.next) != null);}}// 如果找到了相同的key,接下來就要判斷matchValue參數,matchValue如果是true的話,就說明// 需要檢查被刪除的value是否相同,只有相同的情況下才能刪除元素。如果matchValue是false的話// 就不需要判斷value是否相同。if (node != null && (!matchValue || (v = node.value) == value ||(value != null && value.equals(v)))) {if (node instanceof TreeNode)((TreeNode<K,V>)node).removeTreeNode(this, tab, movable);else if (node == p)tab[index] = node.next;elsep.next = node.next;++modCount;--size;afterNodeRemoval(node);return node;}}return null; }

#####六、resize動態擴容 resize這個方法非常重要,他在添加元素的時候就會被調用到。resize的目的是在容器的容量達到上限的時候,對其擴容,使得元素可以繼續被添加進來。這里需要關注兩個參數threshold和loadFactor,threshold表示容量的上限,當容器中元素數量大于threshold的時候,就要擴容,并且每次擴容都是原來的兩倍。loadFactor表示hash表的數組大小。這兩個參數的配合使用可以有效的控制hash沖突數量。

final Node<K,V>[] resize() {Node<K,V>[] oldTab = table;int oldCap = (oldTab == null) ? 0 : oldTab.length;int oldThr = threshold;int newCap, newThr = 0;// 如果容器并不是第一次擴容的話,那么oldCap必定會大于0if (oldCap > 0) {if (oldCap >= MAXIMUM_CAPACITY) {threshold = Integer.MAX_VALUE;return oldTab;}// threshold和數組大小cap共同擴大為原來的兩倍else if ((newCap = oldCap << 1) < MAXIMUM_CAPACITY &&oldCap >= DEFAULT_INITIAL_CAPACITY)newThr = oldThr << 1;}// 第一次擴容,并且設定了threshold值。else if (oldThr > 0)newCap = oldThr;else {// 如果在創建的時候并沒有設置threshold值,那就用默認值newCap = DEFAULT_INITIAL_CAPACITY;newThr = (int)(DEFAULT_LOAD_FACTOR * DEFAULT_INITIAL_CAPACITY);}if (newThr == 0) {// 第一次擴容的時候threshold = cap * loadFactorfloat ft = (float)newCap * loadFactor;newThr = (newCap < MAXIMUM_CAPACITY && ft < (float)MAXIMUM_CAPACITY ?(int)ft : Integer.MAX_VALUE);}threshold = newThr;// 創建數組@SuppressWarnings({"rawtypes","unchecked"})Node<K,V>[] newTab = (Node<K,V>[])new Node[newCap];table = newTab;// 如果不是第一次擴容,那么hash表中必然存在數據,需要將這些數據重新hashif (oldTab != null) {// 遍歷所有元素for (int j = 0; j < oldCap; ++j) {Node<K,V> e;if ((e = oldTab[j]) != null) {oldTab[j] = null;if (e.next == null)// 重新計算在數組中的位置。newTab[e.hash & (newCap - 1)] = e;else if (e instanceof TreeNode)((TreeNode<K,V>)e).split(this, newTab, j, oldCap);else { // preserve order// 這里分兩串,lo表示原先位置的所有,hi表示新的索引Node<K,V> loHead = null, loTail = null;Node<K,V> hiHead = null, hiTail = null;Node<K,V> next;do {next = e.next;// 因為cap都是2的冪次,假設oldCap == 10000,// 假設e.hash= 01010 那么 e.hash & oldCap == 0。// 老位置= e.hash & oldCap-1 = 01010 & 01111 = 01010// newCap此時為100000,newCap-1=011111。// 此時e.hash & newCap 任然等于01010,位置不變。// 如果e.hash 假設為11010,那么 e.hash & oldCap != 0// 原來的位置為 e.hash & oldCap-1 = 01010// 新位置 e.hash & newCap-1 = 11010 & 011111 = 11010// 此時 新位置 != 老位置 新位置=老位置+oldCap// 因此這里分類兩個索引的鏈表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;}}}}}return newTab; }

#####七、遍歷 HashMap遍歷有三種方式,一種是對key遍歷,還有一種是對entry遍歷和對value遍歷。這三種遍歷方式都是基于對HashIterator的封裝,三種實現方式大同小異,因此我著重介紹EntryIterator的實現。

// 對HashMap元素進行遍歷。 public Set<Map.Entry<K,V>> entrySet() {Set<Map.Entry<K,V>> es;// 第一次遍歷的時候,實例化entrySet。return (es = entrySet) == null ? (entrySet = new EntrySet()) : es; }final class EntrySet extends AbstractSet<Map.Entry<K,V>> {public final int size() { return size; }public final void clear() { HashMap.this.clear(); }public final Iterator<Map.Entry<K,V>> iterator() {return new EntryIterator();}public final boolean contains(Object o) {if (!(o instanceof Map.Entry))return false;Map.Entry<?,?> e = (Map.Entry<?,?>) o;Object key = e.getKey();Node<K,V> candidate = getNode(hash(key), key);return candidate != null && candidate.equals(e);}public final boolean remove(Object o) {if (o instanceof Map.Entry) {Map.Entry<?,?> e = (Map.Entry<?,?>) o;Object key = e.getKey();Object value = e.getValue();return removeNode(hash(key), key, value, true, true) != null;}return false;}public final Spliterator<Map.Entry<K,V>> spliterator() {return new EntrySpliterator<>(HashMap.this, 0, -1, 0, 0);}public final void forEach(Consumer<? super Map.Entry<K,V>> action) {Node<K,V>[] tab;if (action == null)throw new NullPointerException();if (size > 0 && (tab = table) != null) {int mc = modCount;for (int i = 0; i < tab.length; ++i) {for (Node<K,V> e = tab[i]; e != null; e = e.next)action.accept(e);}if (modCount != mc)throw new ConcurrentModificationException();}} }final class EntryIterator extends HashIteratorimplements Iterator<Map.Entry<K,V>> {public final Map.Entry<K,V> next() { return nextNode(); } }// HashMap自己實現的遍歷方法。上面的所有方法都是圍繞這個類展開的。下面具體講解這個類的實現原理。 abstract class HashIterator {Node<K,V> next; // 指向下一個元素Node<K,V> current; // 指向當前元素int expectedModCount;int index; // 當前元素位置HashIterator() {expectedModCount = modCount;Node<K,V>[] t = table;current = next = null;index = 0;if (t != null && size > 0) { // 找到table中的第一個元素do {} while (index < t.length && (next = t[index++]) == null);}}public final boolean hasNext() {return next != null;}final Node<K,V> nextNode() {Node<K,V>[] t;Node<K,V> e = next;if (modCount != expectedModCount)throw new ConcurrentModificationException();if (e == null)throw new NoSuchElementException();// 判斷當前元素是否為鏈表中的最后一個元素,如果在鏈表尾部,那么就需要重新遍歷table,// 順序找到下元素的位置。if ((next = (current = e).next) == null && (t = table) != null) {do {} while (index < t.length && (next = t[index++]) == null);}return e;}// 刪除當前遍歷的元素。public final void remove() {Node<K,V> p = current;if (p == null)throw new IllegalStateException();if (modCount != expectedModCount)throw new ConcurrentModificationException();current = null;K key = p.key;removeNode(hash(key), key, null, false, false);expectedModCount = modCount;} }

總結一下這個遍歷的過程是 EntrySet -> EntryIterator -> HashIterator。同理對key的遍歷過程就是 KeySet -> KeyIterator -> HashIterator。可以看出來不管是哪種遍歷,最終都是調用了HashIterator。

轉載于:https://www.cnblogs.com/hd-zg/p/6929685.html

總結

以上是生活随笔為你收集整理的#HashMap的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91视频88av| 亚洲精品在线国产 | 久久综合之合合综合久久 | 亚洲3级| 中文字幕av日韩 | 精品福利国产 | 天天综合人人 | 深爱综合网 | 天天操操操操操 | 黄色毛片观看 | 麻豆免费在线播放 | 国产中文 | 嫩草91影院| 免费看片色| 成人毛片在线观看视频 | 国产精品久久久久久久久费观看 | 一区二区三区动漫 | 国产精品久久99综合免费观看尤物 | 国产伦理一区二区三区 | 国产精品久久久久久超碰 | 天天操天天舔天天爽 | 天天干天天拍 | 黄色小说视频网站 | 久久综合网色—综合色88 | 欧美黄色免费 | 久久综合九色综合久99 | 久久亚洲欧美 | 亚洲欧洲国产精品 | 国产成人久久av免费高清密臂 | 欧美日韩视频在线一区 | 色国产精品一区在线观看 | 日韩欧美在线一区二区 | 天堂av色婷婷一区二区三区 | 色婷婷久久久综合中文字幕 | 日韩精品中文字幕在线播放 | 国产999精品久久久久久绿帽 | 区一区二在线 | 国产在线中文 | 日韩亚洲在线观看 | www看片网站 | 国产精品av在线免费观看 | 成人三级网站在线观看 | 亚洲国产网址 | 欧洲激情在线 | 五月婷婷婷婷婷 | 亚洲国产精品久久久久婷婷884 | 成年人看片| 狠狠的操| 国产成本人视频在线观看 | 99色视频在线 | 一区二区激情视频 | 91免费看片黄 | 天天射天天 | 色噜噜色噜噜 | 中文字幕专区高清在线观看 | 亚洲九九 | 青青河边草观看完整版高清 | 成人a视频片观看免费 | 欧美 日韩 性 | 久久精品国产第一区二区三区 | 亚洲免费在线观看视频 | 久久精品激情 | 国产69久久精品成人看 | 黄色不卡av | 日韩视频www | 91女神的呻吟细腰翘臀美女 | 国产视频网站在线观看 | 免费观看www小视频的软件 | 色999在线| 夜夜夜夜爽| 国产区精品视频 | 超碰在线公开免费 | 久久成人在线视频 | 97电影手机版 | 日日夜夜婷婷 | 色综合天天射 | 中国美女一级看片 | 国内精品久久天天躁人人爽 | 99视频在线精品免费观看2 | 成人免费看片98欧美 | 超碰人人超 | 欧美福利在线播放 | 久久五月婷婷丁香社区 | 国产精品久99 | www免费看 | 999国内精品永久免费视频 | 久久综合五月婷婷 | av免费看电影 | 人人讲 | 精品视频www | 中文字幕在线播放av | 色香com.| 99国产精品久久久久久久久久 | 黄网站免费看 | 久久人人插 | 国产日韩视频在线观看 | 中文字幕资源网 国产 | 在线播放日韩av | 久久精品久久99精品久久 | 在线视频91 | 国产精品一区在线播放 | 国产精品久久伊人 | 午夜av一区二区三区 | 久久免费播放 | 日韩高清免费无专码区 | 精品日韩视频 | 色就色,综合激情 | 涩涩在线| 狠狠干夜夜爱 | 国产精品久久久久一区二区三区共 | 成年人在线免费看 | 狠狠综合久久av | 97福利在线观看 | 91伊人久久大香线蕉蜜芽人口 | 中文字幕人成人 | 亚洲我射av| 99视频免费播放 | 国产一区网 | 国产精品一区二区久久精品爱微奶 | 中文字幕精品一区久久久久 | 一 级 黄 色 片免费看的 | 欧美日韩国产综合一区二区 | 国产精品麻豆欧美日韩ww | 青青草久草在线 | 中文字幕丝袜美腿 | 一级黄色大片在线观看 | 天天草天天色 | 国产原创av片 | 日韩欧美一区二区在线观看 | 天天射天天做 | 在线观看中文字幕av | 国产高清视频在线播放 | av在线进入 | 91av资源网| 婷婷爱五月天 | 欧美性视频网站 | 五月婷婷导航 | 一本—道久久a久久精品蜜桃 | 日一日操一操 | 二区中文字幕 | 亚洲国产久 | 日韩在线不卡视频 | 欧美精品亚州精品 | 久久国产精品一区二区三区四区 | 99热九九这里只有精品10 | 国产亚洲精品久久久久久网站 | 婷婷六月天丁香 | 日日夜夜天天射 | 天海冀一区二区三区 | 探花视频免费观看 | 国产精品女人久久久 | 亚洲欧美日韩国产精品一区午夜 | 久久影院亚洲 | 久久经典视频 | 久久高清免费视频 | 国产精品久久久久婷婷二区次 | 欧洲一区精品 | 探花视频在线版播放免费观看 | 婷婷丁香导航 | 一区二区三区高清在线 | 中文字幕免费播放 | 蜜臀一区二区三区精品免费视频 | 中文字幕在线观看视频一区 | 岛国大片免费视频 | 国产精品高清免费在线观看 | 天天干天天在线 | 在线观看免费一级片 | av在线免费观看黄 | 亚洲电影一区二区 | 在线电影日韩 | 一区二区国产精品 | 国产午夜精品福利视频 | 最近中文字幕视频网 | 婷婷丁香在线观看 | 黄色av高清 | 中文字幕在线观看视频免费 | 久久久久久久久久久久久国产精品 | 久久99精品国产91久久来源 | 日韩欧美高清一区二区三区 | 日韩欧美高清一区二区 | 97成人精品区在线播放 | 激情综合网五月激情 | 国产精品色视频 | 91视频大全 | www.伊人色.com | 日韩va亚洲va欧美va久久 | 日韩精品在线观看视频 | 日韩一区二区三区高清在线观看 | 99精品视频免费观看视频 | 国产精品麻豆一区二区三区 | 国内精品久久久久久久久久久久 | 97av影院| www.天天操.com | 国产色视频一区二区三区qq号 | 欧美人zozo| 一本到视频在线观看 | 五月在线视频 | 久久一本综合 | 国产福利精品一区二区 | 成人福利在线 | 黄色网在线播放 | 九九热只有这里有精品 | 精品国产人成亚洲区 | 国产又粗又猛又色又黄视频 | 国产精品成人a免费观看 | 中文字幕免费观看视频 | 久久新视频 | 免费久久99精品国产婷婷六月 | 中文字幕韩在线第一页 | 黄色视屏在线免费观看 | 日韩久久影院 | 精品国产一区二区三区免费 | 成人在线一区二区三区 | 开心激情综合网 | 亚洲精品理论 | 在线观看成年人 | 激情综合色综合久久 | 欧美日韩高清一区二区 | 国产做爰视频 | 91av在线视频播放 | 精品一区二区6 | 精品国产一区二区三区久久久蜜臀 | 婷婷99| 久久九九久久九九 | 成人精品亚洲 | 婷婷五月情 | 久久草草热国产精品直播 | 人人插人人 | 色网av| 国产精品一区在线播放 | 国产精品久久久久久a | 日本精品一区二区在线观看 | 亚洲欧美经典 | 精品国产一二三四区 | 久久9999久久免费精品国产 | 国产伦精品一区二区三区无广告 | 亚洲欧美国产精品 | 日韩二区三区在线 | 国产精品九九久久久久久久 | 成年人国产精品 | 天天操天天操天天爽 | 中文字幕在线免费观看 | 国产精品人人做人人爽人人添 | 亚洲视频免费在线观看 | 国产第一福利 | 欧美怡红院视频 | 国产在线色 | 麻豆av一区二区三区在线观看 | 日韩欧美精品一区二区三区经典 | 中文字幕久久精品一区 | 日韩二区精品 | 成人av片免费观看app下载 | 精品一区二区免费在线观看 | 99爱这里只有精品 | 免费观看www视频 | 国产成人99久久亚洲综合精品 | 国产视频2| 国产精品美女久久久久aⅴ 干干夜夜 | 中国一级片视频 | 丁香亚洲| 亚洲夜夜爽 | 亚洲精品美女视频 | 久久精品女人毛片国产 | 91av在线不卡| 九九九热精品免费视频观看 | 国产黄色在线网站 | 天天操天天透 | av高清一区二区三区 | 中文字幕日本特黄aa毛片 | 天堂va欧美va亚洲va老司机 | 久久影视中文字幕 | 色999精品| www一起操 | 亚洲精品视频久久 | 精品在线观看免费 | 久久中文精品视频 | 久久精品一区 | 在线免费观看的av | 亚洲在线综合 | 日韩成人精品一区二区三区 | 四虎永久免费在线观看 | 中文字幕成人网 | 亚洲最新av | 久久精品成人热国产成 | 国产区av在线 | 一级精品视频在线观看宜春院 | 国产精品一区二区三区视频免费 | 成年人国产在线观看 | 天天看天天干天天操 | 国产精品久久久久久久久久久久 | 香蕉视频亚洲 | 黄色99视频| 国产日韩中文字幕 | 91粉色视频 | 狠狠干狠狠艹 | 亚洲精品久久久久www | 射综合网 | 国产精品国产三级国产aⅴ9色 | 久草在线费播放视频 | 黄色软件在线观看 | 欧美最猛性xxxx | 亚洲欧洲视频 | 久久精品视频在线免费观看 | 久久久久亚洲天堂 | 亚洲欧美在线观看视频 | 欧美日本在线视频 | 在线观看国产区 | 日韩中文字幕免费视频 | av片在线观看免费 | 国产免费看| 伊人国产女 | 天天做日日爱夜夜爽 | 日韩精品视频一二三 | 日韩av资源在线观看 | 五月婷香| 国产精品久久久久久婷婷天堂 | 日本精品久久久一区二区三区 | 亚洲精品免费视频 | 久久人人爽人人爽人人片av免费 | 精品免费国产一区二区三区四区 | 在线亚洲激情 | 4438全国亚洲精品在线观看视频 | 激情五月亚洲 | 日韩视频欧美视频 | 久久影院中文字幕 | 国产精品日韩久久久久 | 国产日韩中文字幕 | 人人爽人人爽人人爽 | 精品国产aⅴ一区二区三区 在线直播av | 欧美性黑人 | 综合视频在线 | 国产成人精品网站 | 欧美日韩91| 精品专区一区二区 | 精品99999 | 国产午夜影院 | 欧美激情第一区 | 久久伊人精品天天 | 精品国产区 | 久久久久久久久久毛片 | 国产高清视频 | 国精产品999国精产品视频 | 国产视频资源在线观看 | 久草视频资源 | 国产精品久久一区二区无卡 | 日韩精品视频在线观看网址 | 久久有精品 | 久久精品91久久久久久再现 | 久久久精品 一区二区三区 国产99视频在线观看 | 午夜12点 | www.色在线| 久久久人人爽 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 伊人热| 成年人看片网站 | 久久草在线视频国产 | 成 人 黄 色视频免费播放 | 国产五十路毛片 | 色婷婷av一区 | 成人网444ppp | 99精品一级欧美片免费播放 | 香蕉影视在线观看 | 成人h视频 | 最新国产精品亚洲 | 国产一级免费av | 国产黄色av | 人人爽人人做 | 少妇高潮冒白浆 | 精品视频免费久久久看 | 日韩国产精品一区 | 狠狠狠色丁香婷婷综合久久88 | 狠狠狠干狠狠 | 亚洲一区免费在线 | 久草干 | 亚洲经典视频在线观看 | 麻豆91精品视频 | 在线看国产视频 | 在线观看91网站 | 91精品国产成人www | 视频一区二区免费 | 四虎成人网 | 91精品国产一区 | 69精品视频在线观看 | 国产精品18久久久久久久久 | 久久人人97超碰com | 国产做a爱一级久久 | 国产又黄又爽无遮挡 | 久久久久草 | 亚洲一级片av | 国产一区 在线播放 | 国产又粗又猛又色又黄网站 | 国产成人久久久久 | 欧美在线99 | 亚洲综合射 | 97人人模人人爽人人少妇 | 久久精品99视频 | 国产精品一区二区在线观看免费 | 欧美国产高清 | 色婷婷国产精品一区在线观看 | 久久99久久99精品中文字幕 | 久久久久久免费网 | 国产91区| 亚洲第一香蕉视频 | 国产成人三级在线播放 | 欧美另类重口 | 91综合视频在线观看 | 国产黄色看片 | 免费av黄色 | www.日本色| 97视频免费在线观看 | 色综合久久久久 | 亚洲欧美日韩精品久久奇米一区 | 九九久久久 | 婷婷色六月天 | www.亚洲在线| 国产看片网站 | 日韩影视在线观看 | 国产色视频网站 | 日韩久久久久久久 | 欧美污在线观看 | 波多野结衣在线观看一区二区三区 | 日本久久久久久久久久久 | 日韩在线观看高清 | 色在线亚洲| 天天色成人网 | 亚洲三级黄色 | 精品成人a区在线观看 | 在线av资源 | 啪啪免费视频网站 | 国产精品高清av | 亚洲综合视频在线 | 国产成人亚洲在线观看 | 亚洲精品在线视频播放 | 日韩电影在线看 | 99久久精品免费看国产四区 | 国产精品涩涩屋www在线观看 | 亚洲精品午夜aaa久久久 | 久久久久久久久久网站 | 91精品久久久久久综合五月天 | www色婷婷com| 91在线免费播放视频 | 色婷婷久久 | 波多野结衣一区二区 | 久久99久久99久久 | 伊人狠狠色丁香婷婷综合 | 欧美日一级片 | 国产一区二区三区四区大秀 | 国产精品1024 | 成片人卡1卡2卡3手机免费看 | 国产日本高清 | 久久精品视频国产 | 国产精品一区二区三区在线 | 精品国产一区二区在线 | 久久精品日韩 | 国产91在线播放 | 五月天激情在线 | 狠狠狠综合 | 狠狠色丁香婷婷 | 亚洲精品久久久久中文字幕m男 | 国产亚洲久久 | 久久久这里有精品 | 99热这里只有精品1 av中文字幕日韩 | 91麻豆精品国产91久久久更新时间 | 99精品国产福利在线观看免费 | 一区二区三区免费播放 | 久久国产香蕉视频 | 欧美 日韩 久久 | 天天综合成人 | 免费看的黄色 | 91桃色在线观看视频 | 91新人在线观看 | 婷婷丁香色 | 午夜体验区 | av在线播放观看 | 日韩高清国产精品 | 日韩综合视频在线观看 | 国产xxxx | 亚洲无吗视频在线 | 四虎国产精品免费 | 欧美一区二视频在线免费观看 | 国产123区在线观看 国产精品麻豆91 | 欧美性猛片, | 久草在线久草在线2 | 美女视频免费一区二区 | 最近高清中文在线字幕在线观看 | 91精品视频免费观看 | 日韩中文在线播放 | 91亚·色| 有码一区二区三区 | 亚洲免费精品视频 | 日韩专区视频 | 日韩精品中文字幕在线不卡尤物 | 天天射射天天 | 色先锋资源网 | 久久国产一区二区三区 | 国产精品免费一区二区三区在线观看 | 国产精品毛片一区视频播 | 91精品老司机久久一区啪 | 激情久久久久 | 天天干天天做 | 国产日韩欧美在线一区 | 色综合久久66 | 超碰资源在线 | 久久免费av电影 | 99精品在线观看视频 | 激情五月在线 | 欧美美女一级片 | 久草网在线 | 日日操天天操狠狠操 | 色播激情五月 | 亚洲黄色av一区 | 中文字幕在线看视频国产中文版 | 2023亚洲精品国偷拍自产在线 | 国产一区二区成人 | 日韩精品久久久久 | 婷婷亚洲综合五月天小说 | 国产一级二级三级在线观看 | 九草在线视频 | 久草网在线视频 | 亚洲综合爱 | 精品国产一区二区三区日日嗨 | 99精品99| 久久久www免费电影网 | 992tv在线成人免费观看 | 国内揄拍国产精品 | 在线成人一区 | 国产午夜精品一区二区三区嫩草 | 九九日九九操 | 国内精品久久久久久久久久久久 | 五月天中文字幕 | 亚洲精品在线观看免费 | 欧美午夜精品久久久久久孕妇 | 久久久受www免费人成 | 中文在线√天堂 | 99久久精品日本一区二区免费 | 中文字幕免费观看全部电影 | 天天综合在线观看 | 日韩在线中文字幕 | 午夜黄色影院 | 精品亚洲一区二区 | 丝袜少妇在线 | 欧美片一区二区三区 | 亚洲影音先锋 | 国产免费视频一区二区裸体 | 1024手机基地在线观看 | 香蕉在线观看 | 国产中文字幕在线视频 | 丁香电影小说免费视频观看 | 91正在播放 | 久久久999免费视频 日韩网站在线 | 午夜电影中文字幕 | 国产啊v在线观看 | 一级黄色在线视频 | 精品国产乱码久久久久久三级人 | 国产精品刺激对白麻豆99 | 国产成人99久久亚洲综合精品 | 精品一区二区三区电影 | 国产专区精品视频 | 国产中文字幕精品 | 91麻豆精品国产91久久久更新时间 | 色噜噜狠狠色综合中国 | 天天摸天天操天天舔 | 最新日韩视频在线观看 | 免费在线观看成年人视频 | 91香蕉视频 | 69国产盗摄一区二区三区五区 | 久精品一区| 麻豆91在线观看 | 久久久久免费网站 | 日韩视频在线一区 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | www.色婷婷| 一区三区视频在线观看 | 久久久精品网站 | 久久看片网站 | 久久在线影院 | 日韩av电影免费在线观看 | 九九热有精品 | 在线免费观看国产黄色 | 久久综合九色综合97婷婷女人 | 91人人爽人人爽人人精88v | 亚洲国产手机在线 | 日韩国产精品久久 | 91亚洲精| 中文一区在线观看 | 在线观看免费成人 | 日韩在线播放视频 | 黄色片网站av | 黄色在线免费观看网站 | 成人黄色大片在线观看 | 亚洲精品久久久蜜臀下载官网 | 一级片免费观看视频 | 一二三精品视频 | avlulu久久精品 | 成人在线视频论坛 | 国产精品一区二区av日韩在线 | www五月 | 中文字幕精 | 天天操网址 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 中文字幕久久精品亚洲乱码 | 国产一二三区在线观看 | 伊人资源视频在线 | 日本夜夜草视频网站 | 免费高清在线观看成人 | 免费看三片 | 国产亚洲无| 亚洲国产小视频在线观看 | 欧美国产在线看 | wwwwww色 | 六月天综合网 | 男女拍拍免费视频 | 国产精品乱码久久久久 | 99久久婷婷国产精品综合 | 2023亚洲精品国偷拍自产在线 | 成 人 黄 色 片 在线播放 | 色综久久| 国产美女被啪进深处喷白浆视频 | 91九色国产在线 | av在线成人 | 天天视频色版 | 亚洲精品一区二区三区在线观看 | 日韩黄色在线电影 | 国产精品国产亚洲精品看不卡15 | 精品国产午夜 | 久草资源在线 | 欧美一级裸体视频 | 91精品一区在线观看 | 久久久久久久亚洲精品 | 99久久日韩精品视频免费在线观看 | 国产精品一区二区三区观看 | 在线观看一二三区 | 91高清免费在线观看 | 91色吧 | 中文字幕在线电影 | 日韩久久精品一区 | 偷拍精品一区二区三区 | 久久精品视频在线免费观看 | 中文字幕av最新 | 亚洲视频,欧洲视频 | 天天操夜夜操国产精品 | 国产精品女| 欧美伦理一区 | 在线看国产 | 伊人久久五月天 | 精品999久久久 | 一色av | 国产精品久久久777 成人手机在线视频 | 国产伦理久久精品久久久久_ | 日韩在线观看视频在线 | 中文字幕在线观看第一页 | 亚洲精品在线视频观看 | 天天射网 | 香蕉视频久久 | 欧美日韩在线观看一区二区 | 欧美日韩在线观看视频 | 国产中文视| 在线国产视频观看 | 日韩av一区二区在线播放 | 国产福利久久 | 在线 高清 中文字幕 | 天天色.com | 国产69精品久久久久久久久久 | 国产亚洲精品xxoo | 开心激情婷婷 | 久久精品国产亚洲精品 | 国产精品久久久久久久久软件 | 国产破处视频在线播放 | 久久99精品久久久久久久久久久久 | 久产久精国产品 | 亚洲精品视频免费在线 | 91激情视频在线播放 | 手机av电影在线 | 国产亚洲精品bv在线观看 | 欧美精品xx| 成年美女黄网站色大片免费看 | 色wwwww| 天天干天天综合 | 国产精品不卡在线观看 | 亚洲精品小区久久久久久 | 91av欧美| 五月花婷婷 | 午夜私人影院 | 亚洲国产精品女人久久久 | 丁香六月网| 亚洲国产成人久久综合 | 国产精品视频线看 | 色姑娘综合 | 69精品在线 | 日韩欧美国产激情在线播放 | 一区二区三区国产精品 | 国产字幕在线播放 | www.狠狠操.com | 久久国产精品第一页 | 免费av电影网站 | 最新日韩中文字幕 | 午夜视频免费在线观看 | 日韩簧片在线观看 | 国产精品手机在线观看 | 天天综合入口 | 18岁免费看片 | 久久激情网站 | 高清不卡一区二区三区 | 精品国模一区二区 | 国产亚洲精品久久久久久网站 | 国产精品免费久久久久久久久久中文 | 亚洲资源视频 | 91大神精品视频在线观看 | 精品国产一区二区三区日日嗨 | 男女啪啪网站 | 午夜狠狠操 | av成人黄色| 香蕉视频一级 | 亚洲欧美成人 | 久久综合免费视频 | 中文字幕在线视频一区二区 | 狠狠狠色丁香综合久久天下网 | 日本xxxx裸体xxxx17| 97在线观看免费观看高清 | 中文字幕一区二区三区四区 | 免费看高清毛片 | 在线观看午夜 | 成人免费观看大片 | 日本精品视频在线观看 | 欧美另类xxx | 日本精品免费看 | 亚洲成av人影院 | 国产精品露脸在线 | 一区二区三区在线视频111 | 六月婷婷久香在线视频 | 草免费视频| 丁香婷婷久久久综合精品国产 | 欧美性做爰猛烈叫床潮 | 91精品免费在线 | 伊人开心激情 | 9在线观看免费高清完整版在线观看明 | 久草在线久草在线2 | 久久婷婷开心 | 亚洲动漫在线观看 | 久久久久久久久艹 | 天天在线视频色 | 999久久久欧美日韩黑人 | 免费在线观看视频a | 3d黄动漫免费看 | 很污的网站 | 亚洲视频精品在线 | av在线免费在线 | 国产91精品一区二区绿帽 | 天堂v中文 | 国产麻豆精品久久一二三 | 欧美日韩二三区 | 狠狠色伊人亚洲综合成人 | 日韩精品欧美视频 | 免费看搞黄视频网站 | 91日韩在线播放 | 人人爱夜夜操 | 国产色在线视频 | 在线播放亚洲激情 | 99久久精品国产毛片 | 国产成人av福利 | 一区二区三区在线免费播放 | 中文字幕av网站 | 久久不射网站 | 日本中文字幕在线免费观看 | japanesefreesex中国少妇 | 国产精品国产三级国产aⅴ无密码 | 天天操天天添天天吹 | 一本色道久久综合亚洲二区三区 | 亚洲婷婷在线视频 | 五月婷久 | 国产福利小视频在线 | 国产精品99在线观看 | 亚洲精品玖玖玖av在线看 | 久精品在线观看 | 精品国产不卡 | 欧美激情在线网站 | 欧美一区二区三区在线观看 | 五月天综合| 色av色av色av | av在线成人| 久久综合色8888 | 日韩理论电影在线观看 | 高清在线一区 | 国产精品一区二区久久 | 在线观看韩国av | 天天摸日日操 | 91视频一8mav| 在线观看一区二区精品 | 午夜久久网站 | 久久在线精品 | 久久任你操 | 国产精品永久免费视频 | 国产精品完整版 | 三级av免费观看 | 国产日韩在线一区 | 欧美日韩xx | 特级a老妇做爰全过程 | 四虎在线视频免费观看 | 亚洲区另类春色综合小说校园片 | 黄a在线看 | 国产精品久久久久久久久久尿 | 成人a在线观看 | 天天干天天操av | 国产精品视频地址 | 97久久久免费福利网址 | 2019av在线视频 | 国产九色在线播放九色 | 国产精品久久久久久久久久妇女 | 午夜色大片在线观看 | 日日躁夜夜躁aaaaxxxx | 亚洲精品成人av在线 | 久久免费视频在线观看6 | 香蕉视频久久 | 亚洲激情六月 | 久久精品电影 | 91精品无人成人www | 在线观看欧美成人 | 欧美日韩国产二区三区 | 99热手机在线 | 最近中文字幕国语免费av | 欧美成人在线免费观看 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 婷婷丁香色| 久久99免费 | 狂野欧美激情性xxxx | 亚洲国产日韩av | 午夜视频在线观看一区二区 | 91精品电影 | 欧美日韩在线免费观看 | 99中文字幕视频 | 麻豆视频免费在线 | h文在线观看免费 | 色综合久久久久久久 | 久久久久久久久久久久亚洲 | 日日干日日操 | 欧美色久| 黄色在线观看免费网站 | 91视频链接 | 18pao国产成视频永久免费 | 成人一级片视频 | 狠狠干天天| 国产精品成人自产拍在线观看 | 欧美一级欧美一级 | 亚洲成人av影片 | 亚洲黄网站| 一区二区激情视频 | 亚洲欧美视频 | 日韩精品一区二区三区免费观看视频 | 在线不卡中文字幕播放 | 午夜12点| 免费成视频 | 亚洲国产中文字幕在线 | 久草久视频 | 欧美黄色成人 | 亚洲闷骚少妇在线观看网站 | 综合色综合 | 奇米7777狠狠狠琪琪视频 | 国产精品麻豆99久久久久久 | 看黄色91| 色婷婷激情五月 | 成人精品久久久 | 在线看国产一区 | 国产人在线成免费视频 | 亚洲一区二区三区91 | 色a网 | 国产色网站 | 中文字幕免费观看全部电影 | 国产成人综合精品 | 国产二区视频在线观看 | 免费无遮挡动漫网站 | 欧美9999| 国产精品久久久久一区二区三区 | 最新中文字幕 | 亚洲最新视频在线播放 | 不卡电影免费在线播放一区 | 亚洲在线免费视频 | 玖玖在线免费视频 | 天天亚洲| 国产不卡一二三区 | 免费人成网ww44kk44 | 91最新网址在线观看 | 久久久国产精品一区二区中文 | 日本巨乳在线 | 黄色录像av | 五月激情丁香图片 | 久久久国产一区二区三区四区小说 | 国产亚洲精品免费 | 国产伦精品一区二区三区无广告 | 欧美日韩国产在线精品 | 天天干夜夜夜 | 国产在线精品一区 | 91完整版在线观看 | 欧美一二在线 | 久久久精品影视 | 99草视频在线观看 | 日日夜夜添 | 日韩国产精品久久 | 成人免费在线播放 | 国内外成人在线视频 | 欧美精品三级在线观看 | 精品视频免费久久久看 | 国产中文欧美日韩在线 | 丁香视频五月 | 久久短视频 | 国产视频一区在线免费观看 | 麻豆免费看片 | 99视频免费看 | 免费高清在线观看成人 | 91亚洲精品国产 | 欧美精品乱码久久久久久按摩 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 午夜免费久久看 | 一级黄色毛片 | 在线观看免费av片 | 国产精品久久久久久久久久免费 | 黄色小说网站在线 | 麻豆精品视频在线观看免费 | 久久精品国产一区二区电影 | 久久久久久国产精品亚洲78 | 日本特黄特色aaa大片免费 | 91精品天码美女少妇 | 亚洲性xxxx | www夜夜操com | av中文字幕不卡 | 国产视频午夜 | 91插插插网站 | 国产黄在线 | 成人中文字幕+乱码+中文字幕 | 日日操日日干 | 天天干天天操天天干 | 黄色在线观看网站 | 国产精品一区二区你懂的 | 欧美日韩国产一区二区在线观看 | 日韩在线第一区 | 成人av.com | 九九久久在线看 | 国产精品福利一区 | 欧美精品在线视频 | 精品一区精品二区 | 最近最新最好看中文视频 | 国产一级视频在线 | 亚洲国产精品免费 | 成年在线观看 | 99热官网 | 在线观看视频黄色 | 精品美女久久久久久免费 | 黄色亚洲大片免费在线观看 | 欧美日韩精品在线观看 | 欧美乱码精品一区二区 | 亚洲精品永久免费视频 | 亚洲日本成人网 | 日韩高清国产精品 | 2023av| 欧美三人交 | 日日爱av | 国产精品久久久久久久久久久不卡 | 青草视频在线免费 | 久久一线 | 天天操夜夜爱 | 日韩夜夜爽 | 少妇搡bbb | 亚洲一区二区视频 | 欧美性护士 | 4438全国亚洲精品在线观看视频 | 中文字幕在线观看完整 | 97视频免费在线 | 久久精品中文字幕少妇 | 91视频在线观看免费 | 天天做天天爱天天爽综合网 | 中文字幕丰满人伦在线 | 国产黄色精品在线 | 国产精品18p | 中文字幕资源网 国产 | 国产精品男女 | 成人午夜精品福利免费 | 国产99免费视频 | 日韩精品免费在线播放 | 色综合狠狠干 | 国产精品一区二区av麻豆 | 国产精品9999久久久久仙踪林 | 亚洲国产一二三 | 精品视频97| 91精品高清 | 人人舔人人舔 | 欧美日在线观看 | 九九99 | 2022中文字幕在线观看 | 亚洲精品66 | 久久综合久久综合久久 | 亚洲精品久久久蜜桃直播 | 亚洲国产精品va在线看黑人动漫 | 欧美日韩一区二区三区视频 | 日韩女同av | 亚洲国产精品成人精品 | 激情在线网址 | 91精品国产91p65 | 一级做a视频| 久久精品网站免费观看 |