精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

迭代器筆試題,居然難倒很多人

開(kāi)發(fā) 前端
有位小朋友最近正在為年后換工作做準(zhǔn)備,但是遇到一個(gè)問(wèn)題,覺(jué)得很不可思議的一道筆試題。然后我把這道題發(fā)到技術(shù)群里,發(fā)現(xiàn)很多人居然不知道,很多都是連蒙帶猜的說(shuō)。感覺(jué)很有必要寫一篇文章來(lái)說(shuō)道說(shuō)道。

[[379497]]

有位小朋友最近正在為年后換工作做準(zhǔn)備,但是遇到一個(gè)問(wèn)題,覺(jué)得很不可思議的一道筆試題。然后我把這道題發(fā)到技術(shù)群里,發(fā)現(xiàn)很多人居然不知道,很多都是連蒙帶猜的說(shuō)。感覺(jué)很有必要寫一篇文章來(lái)說(shuō)道說(shuō)道。

奇怪的筆試題閱讀下面這段代碼,請(qǐng)寫出這段代碼的輸出內(nèi)容:

  1. import java.util.ArrayList; 
  2. import java.util.Iterator; 
  3. import java.util.*; 
  4.  
  5. public class Test { 
  6.     public static void main(String[] args) { 
  7.  
  8.         List<String> list = new ArrayList<>(); 
  9.         list.add("1"); 
  10.         list.add("2"); 
  11.         list.add("3"); 
  12.         Iterator iterator = list.iterator(); 
  13.         while (iterator.hasNext()) { 
  14.             String str = (String) iterator.next(); 
  15.             if (str.equals("2")) { 
  16.                 iterator.remove(); 
  17.             } 
  18.         } 
  19.         while (iterator.hasNext()) { 
  20.             System.out.println(iterator.next()); 
  21.         } 
  22.         System.out.println("4"); 
  23.     } 

他寫出來(lái)的答案是:

奇怪的是,你把這道題目發(fā)給你身邊人,讓他們回答這道面試題輸出結(jié)果是什么,說(shuō)這個(gè)結(jié)果的人非常多。不行你試試。

 

答案明顯不對(duì),因?yàn)樵诘谝粋€(gè)while里的 iterator.hasNext()==false后才會(huì)到第二個(gè)while里來(lái),同一個(gè)Iterator對(duì)象,前面調(diào)一次iterator.hasNext()==false,再判斷一次結(jié)果不還是一樣嗎?,

所以第二個(gè)while判斷為false,也就不會(huì)再去遍歷iterator了,由此可知本體答案是:4。

下面我們來(lái)分析一下為什么是具體底層是怎么實(shí)現(xiàn)的。

這里的Iterator是什么?

  • 迭代器是一種模式、詳細(xì)可見(jiàn)其設(shè)計(jì)模式,可以使得序列類型的數(shù)據(jù)結(jié)構(gòu)的遍歷行為與被遍歷的對(duì)象分離,即我們無(wú)需關(guān)心該序列的底層結(jié)構(gòu)是什么樣子的。只要拿到這個(gè)對(duì)象,使用迭代器就可以遍歷這個(gè)對(duì)象的內(nèi)部
  • Iterable 實(shí)現(xiàn)這個(gè)接口的集合對(duì)象支持迭代,是可以迭代的。實(shí)現(xiàn)了這個(gè)可以配合foreach使用~
  • Iterator 迭代器,提供迭代機(jī)制的對(duì)象,具體如何迭代是這個(gè)Iterator接口規(guī)范的。

Iterator說(shuō)明

  1. public interface Iterator<E> {  
  2.     //每次next之前,先調(diào)用此方法探測(cè)是否迭代到終點(diǎn) 
  3.     boolean hasNext(); 
  4.     //返回當(dāng)前迭代元素 ,同時(shí),迭代游標(biāo)后移 
  5.     E next();  
  6.     /*刪除最近一次已近迭代出出去的那個(gè)元素。 
  7.      只有當(dāng)next執(zhí)行完后,才能調(diào)用remove函數(shù)。 
  8.      比如你要?jiǎng)h除第一個(gè)元素,不能直接調(diào)用 remove()   而要先next一下( ); 
  9.      在沒(méi)有先調(diào)用next 就調(diào)用remove方法是會(huì)拋出異常的。 
  10.      這個(gè)和MySQL中的ResultSet很類似 
  11.     */ 
  12.     default void remove() { 
  13.         throw new UnsupportedOperationException("remove"); 
  14.     }  
  15.     default void forEachRemaining(Consumer<? super E> action) { 
  16.         Objects.requireNonNull(action); 
  17.         while (hasNext()) 
  18.             action.accept(next()); 
  19.     } 

這里的實(shí)現(xiàn)類是ArrayList的內(nèi)部類Itr。

  1. private class Itr implements Iterator<E> { 
  2.         int cursor;       // index of next element to return 
  3.         int lastRet = -1; // index of last element returned; -1 if no such 
  4.         //modCountshi ArrayList中的屬性,當(dāng)添加或刪除的時(shí)候moCount值會(huì)增加或者減少 
  5.         //這里主要是給fail-fast使用,避免一遍在遍歷,一遍正在修改導(dǎo)致數(shù)據(jù)出錯(cuò) 
  6.         //此列表在結(jié)構(gòu)上被修改的次數(shù)。結(jié)構(gòu)修改是指改變結(jié)構(gòu)尺寸的修改列表, 
  7.         //或者以這樣的方式對(duì)其進(jìn)行擾動(dòng),進(jìn)步可能會(huì)產(chǎn)生錯(cuò)誤的結(jié)果。 
  8.         int expectedModCount = modCount; 
  9.          
  10.         public boolean hasNext() { 
  11.             //cursor初始值為0,沒(méi)掉一次next方法就+1 
  12.             //size是ArrayList的大小 
  13.             return cursor != size
  14.         } 
  15.  
  16.         @SuppressWarnings("unchecked"
  17.         public E next() { 
  18.             checkForComodification(); 
  19.             int i = cursor
  20.             if (i >= size
  21.                 throw new NoSuchElementException(); 
  22.             //把ArrayList中的數(shù)組賦給elementData 
  23.             Object[] elementData = ArrayList.this.elementData; 
  24.             if (i >= elementData.length) 
  25.                 throw new ConcurrentModificationException(); 
  26.             //每調(diào)用一次next方法,游標(biāo)就加1 
  27.             //cursor=lastRet+1 
  28.             cursor = i + 1; 
  29.             //返回ArrayList中的元素 
  30.             return (E) elementData[lastRet = i]; 
  31.         } 
  32.  
  33.         public void remove() { 
  34.             if (lastRet < 0) 
  35.                 throw new IllegalStateException(); 
  36.             checkForComodification(); 
  37.  
  38.             try { 
  39.                 //調(diào)用ArrayList中remove方法,溢出該元素 
  40.                 ArrayList.this.remove(lastRet); 
  41.                 //cursor=lastRet+1, 
  42.                 //所以此時(shí)相當(dāng)于cursor=cursor-1 
  43.                 cursor = lastRet; 
  44.                 lastRet = -1; 
  45.                 expectedModCount = modCount; 
  46.             } catch (IndexOutOfBoundsException ex) { 
  47.                 throw new ConcurrentModificationException(); 
  48.             } 
  49.         } 
  50.         final void checkForComodification() { 
  51.             if (modCount != expectedModCount) 
  52.                 throw new ConcurrentModificationException(); 
  53.         } 

再回到上面題目中:

第一個(gè)iterator.hasNext()

  • 第1次循環(huán)hasNext方法中:cursor==0, size==3,所以cursor != size返回true。
  • next方法中:cursor=0+1。返回"1"。

第2次循環(huán)

  • hasNext方法中:cursor==1, size==3,所以cursor != size返回true。
  • next方法中:cursor=1+1。返回"2"。
  • remove方法中:cursor==cursor-1==2-1=1,把ArrayList中的"2"給刪除了,所以size==2。

第3次循環(huán)

  • hasNext方法中:cursor==1, size==2,那么cursor != size返回true。
  • next方法中:cursor=1+1==2;返回"3"。

第4次循環(huán)

  • hasNext方法中:cursor==2, size==2,那么cursor != size返回false。

第二個(gè)iterator.hasNext()

hasNext方法中:cursor==2, size==2,所以cursor != size返回false。

所以,最后只輸出"4",即答案為4.

Iterator與泛型搭配

  • Iterator對(duì)集合類中的任何一個(gè)實(shí)現(xiàn)類,都可以返回這樣一個(gè)Iterator對(duì)象。可以適用于任何一個(gè)類。
  • 因?yàn)榧项?List和Set等)可以裝入的對(duì)象的類型是不確定的,從集合中取出時(shí)都是Object類型,用時(shí)都需要進(jìn)行強(qiáng)制轉(zhuǎn)化,這樣會(huì)很麻煩,用上泛型,就是提前告訴集合確定要裝入集合的類型,這樣就可以直接使用而不用顯示類型轉(zhuǎn)換.非常方便.

foreach和Iterator的關(guān)系

  • for each以用來(lái)處理集合中的每個(gè)元素而不用考慮集合定下標(biāo)。就是為了讓用Iterator簡(jiǎn)單。但是刪除的時(shí)候,區(qū)別就是在remove,循環(huán)中調(diào)用集合remove會(huì)導(dǎo)致原集合變化導(dǎo)致錯(cuò)誤,而應(yīng)該用迭代器的remove方法。

使用for循環(huán)還是迭代器Iterator對(duì)比

  • 采用ArrayList對(duì)隨機(jī)訪問(wèn)比較快,而for循環(huán)中的get()方法,采用的即是隨機(jī)訪問(wèn)的方法,因此在ArrayList里,for循環(huán)較快
  • 采用LinkedList則是順序訪問(wèn)比較快,iterator中的next()方法,采用的即是順序訪問(wèn)的方法,因此在LinkedList里,使用iterator較快
  • 從數(shù)據(jù)結(jié)構(gòu)角度分析,for循環(huán)適合訪問(wèn)順序結(jié)構(gòu),可以根據(jù)下標(biāo)快速獲取指定元素.而Iterator 適合訪問(wèn)鏈?zhǔn)浇Y(jié)構(gòu),因?yàn)榈魇峭ㄟ^(guò)next()和Pre()來(lái)定位的.可以訪問(wèn)沒(méi)有順序的集合.
  • 而使用 Iterator 的好處在于可以使用相同方式去遍歷集合中元素,而不用考慮集合類的內(nèi)部實(shí)現(xiàn)(只要它實(shí)現(xiàn)了 java.lang.Iterable 接口),如果使用 Iterator 來(lái)遍歷集合中元素,一旦不再使用 List 轉(zhuǎn)而使用 Set 來(lái)組織數(shù)據(jù),那遍歷元素的代碼不用做任何修改,如果使用 for 來(lái)遍歷,那所有遍歷此集合的算法都得做相應(yīng)調(diào)整,因?yàn)長(zhǎng)ist有序,Set無(wú)序,結(jié)構(gòu)不同,他們的訪問(wèn)算法也不一樣.(還是說(shuō)明了一點(diǎn)遍歷和集合本身分離了)。

總結(jié)

  • 迭代出來(lái)的元素都是原來(lái)集合元素的拷貝。
  • Java集合中保存的元素實(shí)質(zhì)是對(duì)象的引用,而非對(duì)象本身。
  • 迭代出的對(duì)象也是引用的拷貝,結(jié)果還是引用。那么如果集合中保存的元素是可變類型的,那么可以通過(guò)迭代出的元素修改原集合中的對(duì)象。

本文轉(zhuǎn)載自微信公眾號(hào)「Java后端技術(shù)全棧」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java后端技術(shù)全棧公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Java后端技術(shù)全棧
相關(guān)推薦

2018-02-13 14:48:17

戴爾

2024-09-12 08:32:42

2022-01-05 23:34:02

顯示器濾藍(lán)光LED

2025-06-13 10:14:55

2022-02-06 00:07:19

互聯(lián)網(wǎng)失業(yè)職業(yè)

2017-12-13 15:57:12

2019-12-09 10:02:41

泛型ypeScript前端

2022-07-06 10:33:39

技術(shù)債務(wù)CIO

2019-08-21 08:24:34

技術(shù)過(guò)濾器代碼

2021-06-24 09:08:34

Java代碼泛型

2020-06-04 18:34:15

路由器耗電硬件

2020-06-29 08:28:36

v-for 解構(gòu)函數(shù)

2020-11-16 11:24:00

Spring AOP數(shù)據(jù)庫(kù)

2014-05-09 15:29:21

2021-01-15 05:39:13

HashMapHashTableTreeMap

2025-02-21 08:48:16

Typescript內(nèi)置聯(lián)合類型

2020-06-08 19:16:52

大數(shù)據(jù)IT技術(shù)

2021-02-22 13:14:00

計(jì)算機(jī)編程技術(shù)

2019-08-08 16:00:08

HTTPGETPOST

2021-09-21 10:33:56

人工智能科學(xué)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品区一区二区三在线播放 | 波多野结衣毛片| 露出调教综合另类| 日本精品视频一区二区| 99热一区二区三区| 天天综合天天色| 另类小说一区二区三区| 久久久噜噜噜久久| 东京热无码av男人的天堂| 久久国产精品免费一区二区三区| 性久久久久久久久久久久| 日本视频一区在线观看| av手机免费看| 日韩电影一二三区| 久久久在线免费观看| 免费一级黄色录像| 精品五月天堂| 91精品国产综合久久精品app| 777精品久无码人妻蜜桃| 日本高清视频在线播放| 99久久国产综合色|国产精品| 国产精品久久久久久久久久ktv| 国产精品99无码一区二区| 大片网站久久| 亚洲欧美精品suv| 野战少妇38p| www.欧美视频| 欧美亚洲一区三区| 成年人视频观看| 欧美bbbxxxxx| 亚洲视频在线一区二区| 天堂社区 天堂综合网 天堂资源最新版| 精品国自产在线观看| 日韩电影免费在线| 日韩av免费在线| 精品欧美一区二区三区免费观看| 国产韩日影视精品| 中文字幕一区二区精品| 久久精品国产亚洲av久| 首页亚洲中字| 日韩成人在线免费观看| xfplay5566色资源网站| 2023国产精华国产精品| 欧美电影一区二区三区| 国产福利在线免费| 成人亚洲免费| 欧美日韩免费观看一区三区| 亚洲狼人综合干| 欧美日韩免费观看视频| 91国在线观看| 日本美女高潮视频| 成人日韩精品| 欧亚洲嫩模精品一区三区| 热久久精品国产| 日韩精选视频| 欧美三级在线播放| 亚洲娇小娇小娇小| 欧美男男gaygay1069| 欧美日韩在线播放三区四区| 性刺激的欧美三级视频| 青青在线精品| 7777精品久久久大香线蕉| 天天干天天色天天干| 97色婷婷成人综合在线观看| 91精品国产91久久综合桃花| 日本高清免费在线视频| 在线一区二区三区视频| 亚洲精品v天堂中文字幕| 亚洲婷婷在线观看| 丝袜连裤袜欧美激情日韩| 精品香蕉在线观看视频一| 国产av自拍一区| 日本高清免费电影一区| 久久视频在线观看免费| 久久久美女视频| 一区二区高清| 国产精品久久久久免费a∨| 97精品人妻一区二区三区在线| 国产在线不卡视频| 国产精品国产精品国产专区不卡| 天天操天天操天天干| 国产亚洲欧美日韩日本| 中文字幕色一区二区| 日本aa在线| 一本色道久久综合亚洲aⅴ蜜桃 | 视频在线一区二区三区| 日本在线观看网站| 亚洲国产日日夜夜| 成人在线免费播放视频| 91亚洲精品在看在线观看高清| 日韩欧美国产成人一区二区| 美国黄色a级片| 日韩成人免费| 国内精品视频一区| 国产精品51麻豆cm传媒 | 成人免费毛片糖心| 天天射天天综合网| 午夜美女久久久久爽久久| 中文字幕日日夜夜| 不卡电影免费在线播放一区| 婷婷久久青草热一区二区 | 日韩精品一区二区久久| 欧美激情乱人伦| 五月婷婷六月婷婷| 成人一区二区在线观看| 亚洲日本精品国产第一区| 国产在线xxx| 精品视频在线免费| 熟女人妻在线视频| 在线看片不卡| 国产精品久久久久久久久久 | 成人h精品动漫一区二区三区| 亚洲精品成人a8198a| 川上优av中文字幕一区二区| 欧美精品一二三| a级片在线观看| 亚洲高清久久| 亚洲精品欧美日韩| 91吃瓜网在线观看| 色香蕉成人二区免费| 四虎永久免费观看| 五月婷婷六月综合| 国产精品美女av| 欧美日韩伦理片| 亚洲午夜三级在线| 99久久99精品| 99久久久久国产精品| 国产精品白丝jk喷水视频一区| 性感美女视频一二三| 亚洲激情一二三区| 久久精品亚洲天堂| 99精品视频在线| 国产精品69久久久久| 免费在线观看污视频| 黄色成人av网| 国产又粗又长又爽| 亚洲日韩视频| 国产精品免费一区二区三区观看| 伊人春色在线观看| 91精品国产综合久久久久久漫画 | 国产成人在线一区二区| 天堂a中文在线| 亚洲.国产.中文慕字在线| 日本成人在线免费| 欧美日韩a区| 亚洲影院污污.| 日韩激情av| 欧美不卡一二三| 久草视频精品在线| 免费看欧美女人艹b| 91青草视频久久| 在线观看黄av| 欧美日韩高清在线播放| a级黄色免费视频| 久久精品免费看| 一区二区不卡在线视频 午夜欧美不卡'| 欧美一级二级视频| 伊人久久五月天| 91片黄在线观看喷潮| 1区2区3区欧美| 亚洲综合在线一区二区| 午夜亚洲福利| 国产精品大全| 蜜桃视频www网站在线观看| 亚洲精品视频网上网址在线观看 | 亚洲精品国产成人影院| 91在线免费视频| 国内在线免费视频| 亚洲女人天堂成人av在线| 久久久久久久亚洲| 中文字幕一区二区三区在线不卡| 久久久久久久高清| 久久久久在线观看| 日韩精品在线免费看| av亚洲精华国产精华精华| 欧美s码亚洲码精品m码| 亚洲永久精品唐人导航网址| 国产精品久久91| 成年人网站在线| 亚洲国产精品女人久久久| 中文字幕在线播| 精品一区二区三区自拍图片区| 亚洲av成人精品一区二区三区在线播放 | 精品二区三区线观看| 亚洲AV无码片久久精品| 久88久久88久久久| 国产精品视频二| 红桃成人av在线播放| 91精品免费看| 老色鬼在线视频| 伊人久久免费视频| 免费看黄网站在线观看| 在线观看成人免费视频| 欧美激情一区二区视频| 久久只精品国产| 日韩高清在线一区二区| 亚洲欧美日韩一区在线观看| 一区二区三区四区五区精品| 高清欧美性猛交xxxx黑人猛| 国产精品美女久久久久久免费| 拍真实国产伦偷精品| 亚洲国产另类 国产精品国产免费| 中文字幕人成人乱码亚洲电影| 亚洲一二三区在线观看| 国产三级短视频| 风间由美性色一区二区三区 | 视频精品导航| 久久久久久午夜| 欧美69xxx| 亚洲色图国产精品| 黄色成人一级片| 欧美精品色综合| 在线免费观看国产精品| 亚洲成人1区2区| www青青草原| 国产精品九色蝌蚪自拍| 魔女鞋交玉足榨精调教| 懂色av一区二区三区蜜臀| 国产九九热视频| 久久久久国产精品一区二区| 免费拍拍拍网站| 99久久夜色精品国产亚洲96 | av影片在线看| 亚洲跨种族黑人xxx| 亚洲AV午夜精品| 欧美精品v国产精品v日韩精品| 国产九色91回来了| 色哟哟一区二区三区| 日韩在线视频免费播放| 亚洲成a人v欧美综合天堂下载 | 91网页在线观看| 亚洲人成在线播放| 亚洲男人的天堂一区二区| 欧美亚洲另类激情另类| 亚洲久久久久久| 国产精品综合视频| 中文字幕资源在线观看| 日韩不卡在线观看日韩不卡视频| 阿v天堂2017| 国内精品久久久久久久影视蜜臀| 欧美日韩黄色一区二区| 五月天丁香激情| 国产精品久线观看视频| www久久久久久久| 久久久久久免费| 天堂久久精品忘忧草| 26uuu精品一区二区| 亚洲第一黄色网址| 久久亚洲影视婷婷| 超碰97人人干| 国产视频一区二区在线| 国产精品无码久久久久一区二区| 91蝌蚪porny| 疯狂揉花蒂控制高潮h| 91麻豆福利精品推荐| 欧美狂猛xxxxx乱大交3| 久久久久国产精品人| 欧洲美一区二区三区亚洲| 国产亚洲一区字幕| 中国美女黄色一级片| 国产精品九色蝌蚪自拍| 国产波霸爆乳一区二区| 夜夜嗨av一区二区三区| 国产无遮挡又黄又爽| 欧美日韩一区二区在线播放| 成人黄色激情视频| 91精选在线观看| 嫩草影院一区二区| 亚洲欧美一区二区精品久久久| se在线电影| 久久精品久久久久电影| 色噜噜狠狠狠综合欧洲色8| 欧美一区视频在线| 国产a亚洲精品| 国产精品theporn88| 免费精品国产| 中文字幕中文字幕在线中心一区| 中文av一区| 久久无码高潮喷水| 久久99精品视频| 涩视频在线观看| 国产欧美精品一区二区三区四区| 黄色香蕉视频在线观看| 亚洲成在人线免费| wwwwww在线观看| 日韩精品一区二区三区视频| 极品美乳网红视频免费在线观看 | 国产三级视频在线| 久久综合久久美利坚合众国| 日韩精品美女| 国产日韩一区在线| 任你躁在线精品免费| 自拍另类欧美| 久久激情综合| 一个人看的视频www| 久久久.com| 国产一级久久久| 欧美日韩一区久久| 视频在线不卡| 久久99热精品| 国产精品久久久久77777丨| 国产精品免费观看高清| 日韩中字在线| 欧美女人性生活视频| 丁香婷婷深情五月亚洲| 国产精品suv一区二区88| 午夜激情综合网| 国产丝袜视频在线观看| 亚洲人成五月天| 欧美13videosex性极品| 亚洲tv在线观看| 日韩成人影院| 97视频在线免费播放| 成人三级在线视频| 欧美日韩在线观看成人| 欧美视频你懂的| 男人av在线| 1769国产精品| 成人h动漫免费观看网站| 亚洲AV无码成人精品一区| 日韩精品一二三| 人妻丰满熟妇aⅴ无码| 亚洲国产视频一区| www日本视频| 操日韩av在线电影| 综合久久av| 亚洲人成人77777线观看| 日韩精品一级中文字幕精品视频免费观看 | 欧美成人精品一区| 国产精品4hu.www| 视频在线精品一区| 日韩av二区在线播放| 国产精品亚洲无码| 色素色在线综合| 人成免费电影一二三区在线观看| 高清欧美性猛交xxxx| 亚洲一区二区三区免费| 看一级黄色录像| 国产米奇在线777精品观看| 欧美a级片免费看| 欧美日韩国产美| 国产在线高清视频| 91色在线视频| 亚洲精品成人无限看| 五月天婷婷在线观看视频| 亚洲色图在线视频| 国产jzjzjz丝袜老师水多| 久久综合国产精品台湾中文娱乐网| 国产精品毛片aⅴ一区二区三区| 黄色污污在线观看| 国产成人免费视频网站| 国产一级免费av| 亚洲第一视频网站| 久久久男人天堂| 欧洲亚洲一区二区| 秋霞国产午夜精品免费视频| 人妻无码一区二区三区免费| 欧美日韩一区不卡| a视频在线免费看| 国产伦精品一区二区三区照片 | 992kp免费看片| 亚洲精品综合在线| 色wwwwww| 国产精品99久久久久久人| 欧美日韩中字| 91性高潮久久久久久久| 亚洲伊人色欲综合网| 亚洲欧洲综合在线| 国产极品精品在线观看| 永久免费看片在线播放| 日韩精品中文字幕在线一区| 久草在线视频福利| 久久久久久久久久久久久9999| 久久婷婷麻豆| 四虎永久免费在线| 精品卡一卡二卡三卡四在线| 涩涩视频在线播放| 亚洲精品在线视频观看| 国产成人精品免费网站| 91美女免费看| 久久久999国产精品| 国产精品久久久网站| 亚洲一区二区蜜桃| 亚洲一区二区三区在线看| 日本成人一区| 91网站在线免费观看| 国产欧美日本| 国产精品一二三区视频| 欧美巨乳在线观看| 老汉色老汉首页av亚洲| 色婷婷综合久久久久中文字幕| 国产精品初高中害羞小美女文| 亚洲国产精品一| 国产ts一区二区| 国产资源在线播放| 91在线中文字幕| 久久aⅴ国产紧身牛仔裤| av成人免费网站| 亚洲夜晚福利在线观看| 综合中文字幕|