久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java集合详解(超详细)

發布時間:2023/12/9 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java集合详解(超详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java集合詳解(超詳細)

  • 一、集合框架的概述
  • 二、Collection接口
    • (一)Collection接口常用方法
    • (二)Iterator迭代器接口
    • (三)JDK 5.0新特性--增強for循環:(foreach循環)
  • 三、Collection子接口:List接口
    • (一)List接口概述
    • (二)List接口常用方法
    • (三)實現類之一:ArrayList
    • (四)實現類之一:LinkedList
    • (五)實現類之一:Vector
  • 四、Collection子接口:Set接口
    • (一)概述
    • (二)Set接口常用方法
    • (三)實現類之一:HashSet
    • (四)實現類之一:LinkedHashSet
    • (五)實現類之一:TreeSet
  • 五、Map接口
    • (一)概述
    • (二)Map接口常用方法
    • (三)實現類之一:HashMap
    • (四)實現類之一:LinkedHashMap
    • (五)實現類之一:TreeMap
    • (六)使用Properties讀取配置文件
  • 六、Collections工具類的使用
  • 七、面試題

一、集合框架的概述

  • 集合與數組存儲數據概述:
  • 集合、數組都是對多個數據進行存儲操作的結構,簡稱Java容器。 說明:此時的存儲,主要指的是內存層面的存儲,不涉及到持久化的存儲(.txt,.jpg,.avi,數據庫中)

  • 數組存儲的特點:
  • 一旦初始化以后,其長度就確定了。
    數組一旦定義好,其元素的類型也就確定了。我們也就只能操作指定類型的數據了。

  • 數組存儲的弊端:
  • 1.一旦初始化以后,其長度就不可修改。
    2.數組中提供的方法非常限,對于添加、刪除、插入數據等操作,非常不便,同時效率不高。
    3.獲取數組中實際元素的個數的需求,數組沒有現成的屬性或方法可用
    4.數組存儲數據的特點:有序、可重復。對于無序、不可重復的需求,不能滿足。

  • 集合的框架結構
  • Java集合可分為Collection和Map兩種體系

  • Collection接口:單列數據,定義了存取一組對象的方法的集合。Collection接口下還有個Queue接口、Set接口、List接口
    List:元素有序、可重復的集合
    Set:元素無序、不可重復的集
  • Map接口:雙列數據,保存具有映射關系“key-value對”的集合
  • 其中:

  • Set下有HashSet,LinkedHashSet,TreeSet
  • List下有ArrayList,Vector,LinkedList
  • Map下有Hashtable,LinkedHashMap,HashMap,TreeMap
  • |----Collection接口:單列集合,用來存儲一個一個的對象|----List接口:存儲有序的、可重復的數據。 -->“動態”數組|----ArrayList:作為List接口的主要實現類,線程不安全的,效率高;底層采用Object[] elementData數組存儲|----LinkedList:對于頻繁的插入刪除操作,使用此類效率比ArrayList效率高底層采用雙向鏈表存儲|----Vector:作為List的古老實現類,線程安全的,效率低;底層采用Object[]數組存儲|----Set接口:存儲無序的、不可重復的數據 -->數學概念上的“集合”|----HashSet:作為Set接口主要實現類;線程不安全;可以存null值|----LinkedHashSet:作為HashSet的子類;遍歷其內部數據時,可以按照添加順序遍歷;對于頻繁的遍歷操作,LinkedHashSet效率高于HashSet.|----TreeSet:可以按照添加對象的指定屬性,進行排序。|----Map:雙列數據,存儲key-value對的數據 ---類似于高中的函數:y = f(x)|----HashMap:作為Map的主要實現類;線程不安全的,效率高;存儲null的key和value|----LinkedHashMap:保證在遍歷map元素時,可以照添加的順序實現遍歷。原因:在原的HashMap底層結構基礎上,添加了一對指針,指向前一個和后一個元素。對于頻繁的遍歷操作,此類執行效率高于HashMap。|----TreeMap:保證照添加的key-value對進行排序,實現排序遍歷。此時考慮key的自然排序或定制排序,底層使用紅黑樹|----Hashtable:作為古老的實現類;線程安全的,效率低;不能存儲null的key和value|----Properties:常用來處理配置文件。key和value都是String類型

    二、Collection接口

    • Collection接口是List、Set和Queue接口的父接口,該接口里定義的方法既可用于操作Set集合,也可用于操作List和 Queue集合。
    • JDK不提供此接口的任何直接實現,而是提供更具體的子接口(如:Set和List)實現。
    • 在JDK 5.0之前,Java集合會丟失容器中所有對象的數據類型,把所有對象都當成 Object類型處理;從JDK 5.0增加了泛型以后,Java集合可以記住容器中對象的數據類型。

    (一)Collection接口常用方法

  • 添加
    add(Object obj)
    addAll(Collection coll)
  • 獲取有效元素個數
    int size()
  • 清空集合
    void clear()
  • 是否為空集合
    boolean isEmpty()
  • 是否包含某個元素
    boolean contains(Object obj):是通過元素的equals方法來判斷是否是同一個對象
    boolean containsAll(Collection c):也是調用元素的equals方法來比較的。用兩個兩個集合的元素逐一比較
  • 刪除
    boolean remove(Object obj):通過元素的equals方法判斷是否是要刪除的那個元素。只會刪除找到的第一個元素
    boolean removeAll(Collection coll):取當前集合的差集
  • 取兩個集合的交集
    boolean retainAll(Collection c):把交集的結果存在當前的集合中,不影響c
  • 集合是否相等
    boolean equals(Object obj)
  • 轉換成對象數組
    Object [] toArray()
  • 獲取集合對象的哈希值
    hashCode()
  • 遍歷
    iterator():返回迭代器對象,用于集合遍歷
  • 代碼實例:

    @Test public void test01(){//1.add(Object e):將元素e添加到集合coll中Collection coll = new ArrayList();coll.add(123);//自動裝箱coll.add(new Date());Collection coll1 = new ArrayList();coll1.add("CC");//addAll(Collection coll1):將coll1集合中的元素添加到當前的集合中coll.addAll(coll1);//2.size():獲取添加的元素的個數System.out.println(coll.size());//3//調用collection1中的toString()方法輸出System.out.println(coll);//[123, Sun Jan 31 14:37:52 CST 2021, CC]//3.clear():清空集合元素coll.clear();//4.isEmpty():判斷當前集合是否為空System.out.println(coll.isEmpty());//true } @Test public void Test02(){Collection coll = new ArrayList();coll.add(123);coll.add(new String("Tom"));coll.add(new Person("Jerry",20));//5.contains(Object obj):判斷當前集合中是否包含obj//判斷時需要調用obj對象所在類的equals()方法System.out.println(coll.contains(new String("Tom")));//trueSystem.out.println(coll.contains(new Person("Jerry",20)));//false,重寫Person類的equals()后為true//containsAll(Collection coll1):判斷形參coll1中的所有元素是否都存在于當前集合中。Collection coll1 = Arrays.asList(1234,new String("Tom"));System.out.println(coll.containsAll(coll1));//true//6.remove(Object obj):從當前集合中移除obj元素。移除成功返回true,否則返回falseSystem.out.println(coll.remove(123));//trueSystem.out.println(coll);//[Tom, Person{name='Jerry', age=20}]//removeAll(Collection coll1):從當前集合中移除coll1中所有的元素。(差集)coll.removeAll(coll1);System.out.println(coll);//[Person{name='Jerry', age=20}]Collection a = new ArrayList();a.add(123);a.add(456);a.add(new Person("Jerry",20));a.add(new String("Tom"));a.add(false);//7.retainAll(Collection coll1):交集:獲取當前集合和coll1集合的交集,并返回給當前集合Collection b = Arrays.asList(123,456,789);System.out.println(a.retainAll(b));//trueSystem.out.println(a);//[123, 456] }@Test public void Test03(){Collection a = new ArrayList();a.add(456);a.add(new Person("Jerry",20));a.add(new String("Tom"));//8.equals(Object obj):要想返回true,需要當前集合和形參集合的元素都相同。Collection b = new ArrayList();b.add(456);b.add(new Person("Jerry",20));b.add(new String("Tom"));System.out.println(a.equals(b));//true//9.hashCode():返回當前對象的哈希值System.out.println(a.hashCode());//1350934216//10.集合 --->數組:toArray()Object[] arr = a.toArray();//拓展:數組 --->集合:調用Arrays類的靜態方法asList()List<Object> objects = Arrays.asList(arr);System.out.println(objects);//注意兩個的區別List<int[]> ints = Arrays.asList(new int[]{123, 456});System.out.println(ints.size());//1,集合將其識別為一個元素List<Integer> integers = Arrays.asList(new Integer[]{123, 456});System.out.println(integers.size());//2//11.iterator():返回Iterator接口的實例,用于遍歷集合元素。 }

    注意:

    使用Collection集合存儲對象,要求對象所屬的類滿足: 向Collection接口的實現類的對象中添加數據obj時,要求obj所在類要重寫equals()。

    (二)Iterator迭代器接口

  • 概述
    • Iterator對象稱為迭代器(設計模式的一種),主要用于遍歷 Collection 集合中的元素。
    • 迭代器模式:提供一種方法訪問一個容器(container)對象中各個元素,而又不需暴露該對象的內部細節。
    • Collection接口繼承了java.lang.Iterable接口,該接口有一個iterator()方法,那么所
      有實現了Collection接口的集合類都有一個iterator()方法,用以返回一個實現了Iterator接口的對象。
    • 集合對象每次調用iterator()方法都得到一個全新的迭代器對象,默認游標都在集合的第一個元素之前。
  • Iterator接口的方法
  • 遍歷的代碼實現
  • Iterator iterator = coll.iterator();//獲取迭代器對象 //hasNext():判斷是否還下一個元素 while(iterator.hasNext()){//next():①指針下移 ②將下移以后集合位置上的元素返回System.out.println(iterator.next()); }
  • iterator中remove()方法的使用
  • 注意:

    • 如果還未調用next()或在上一次調用 next 方法之后已經調用了 remove 方法,再調用remove都會報IllegalStateException。
    • 內部定義了remove(),可以在遍歷的時候,刪除集合中的元素。此方法不同于集合直接調用remove()

    代碼實例:

    Iterator iterator = coll.iterator(); 刪除集合中"Tom" while(iterator.hasNext()){Object obj = iterator.next();if("Tom".equals(obj)){iterator.remove();} }

    (三)JDK 5.0新特性–增強for循環:(foreach循環)

  • 遍歷集合舉例
  • @Test public void test1(){Collection coll = new ArrayList();coll.add(123);coll.add(456);coll.add(new Person("Jerry",20));coll.add(new String("Tom"));coll.add(false);//for(集合元素的類型 局部變量 : 集合對象)//內部仍然調用了迭代器。for(Object obj : coll){System.out.println(obj);} }
  • 遍歷數組舉例
  • @Test public void test2(){int[] arr = new int[]{1,2,3,4};//for(數組元素的類型 局部變量 : 數組對象)for(int i : arr){System.out.println(i);} }

    三、Collection子接口:List接口

    (一)List接口概述

    • 概述:

    鑒于Java中數組用來存儲數據的局限性,我們通常使用List替代數組
    List集合類中元素有序、且可重復,集合中的每個元素都有其對應的順序索引。
    List容器中的元素都對應一個整數型的序號記載其在容器中的位置,可以根據序號存取容器中的元素。
    JDK AP中List接口的實現類常用的有:ArrayList、LinkedList和 Vector.

    • List接口框架

      |----Collection接口:單列集合,用來存儲一個一個的對象|----List接口:存儲序的、可重復的數據。 -->“動態”數組,替換原的數組|----ArrayList:作為List接口的主要實現類;線程不安全的,效率高;底層使用Object[] elementData存儲|----LinkedList:對于頻繁的插入、刪除操作,使用此類效率比ArrayList高;底層使用雙向鏈表存儲|----Vector:作為List接口的古老實現類;線程安全的,效率低;底層使用Object[] elementData存儲

    (二)List接口常用方法

    • List除了從 Collection集合繼承的方法外,List集合里添加了一些根據索引來操作集合元素的方法。
    方法描述
    void add(int index, Object ele)在index位置插入ele元素
    boolean addAll(int index, Collection eles)從index位置開始將eles中的所有元素添加進來
    Object get(int index)獲取指定index位置的元素
    int indexOf(Object obj)返回obj在集合中首次出現的位置
    int lastIndexOf(Object obj)返回obj在當前集合中末次出現的位置
    Object remove(int index)移除指定index位置(0是第一個元素)的元素,并返回此元素
    Object set(int index, Object ele)設置指定index位置的元素為ele
    List subList(int fromIndex, int toIndex)返回從fromIndex到toIndex位置的子集合
    • 代碼實例:
    @Test public void Test1(){ArrayList list = new ArrayList();list.add(123);list.add("AA");list.add(new Person("Tom",12));System.out.println(list);//[123, AA, Person{name='Tom', age=12}]//1.void add(int index, Object ele):在index位置插入ele元素list.add(1,"BB");System.out.println(list);//[123, BB, AA, Person{name='Tom', age=12}]//2.boolean addAll(int index, Collection eles):從index位置開始將eles中的所有元素添加進來List list1 = Arrays.asList(1,2,3);list.addAll(list1);System.out.println(list.size());//7//3.Object get(int index):獲取指定index位置的元素System.out.println(list.get(1));//BB//4.int indexOf(Object obj):返回obj在集合中首次出現的位置System.out.println(list.indexOf("AA"));//3System.out.println(list.indexOf("AAC"));//-1,不存在返回-1//5.int lastIndexOf(Object obj):返回obj在當前集合中末次出現的位置System.out.println(list.lastIndexOf("BB"));//1//6.Object remove(int index):移除指定index位置的元素,并返回此元素System.out.println(list);//[123, BB, AA, Person{name='Tom', age=12}, 1, 2, 3]System.out.println(list.remove(0));//123System.out.println(list);//[BB, AA, Person{name='Tom', age=12}, 1, 2, 3]//7.Object set(int index, Object ele):設置指定index位置的元素為elelist.set(1,"CC");System.out.println(list);//[BB, CC, Person{name='Tom', age=12}, 1, 2, 3]//8.List subList(int fromIndex, int toIndex):返回從fromIndex到toIndex位置的左閉右開區間的子集合List subList = list.subList(2,4);System.out.println(subList);//[Person{name='Tom', age=12}, 1] }
    • 遍歷的三種方式
    @Test public void test3(){ArrayList list = new ArrayList();list.add(123);list.add(456);list.add("AA");//方式一:Iterator迭代器方式Iterator iterator = list.iterator();while(iterator.hasNext()){System.out.println(iterator.next());}//方式二:增強for循環for(Object obj : list){System.out.println(obj);}//方式三:普通for循環for(int i = 0;i < list.size();i++){System.out.println(list.get(i));} }

    (三)實現類之一:ArrayList


    ArrayList的三個構造方法:

    (1)ArrayList()構造一個初始容量為 10 的空列表。

    List<String> list1 = new ArrayList<>();

    (2)ArrayList(int initialCapacity)構造一個具有指定初始容量的空列表。

    List<String> list2 = new ArrayList<>(6);

    (3)ArrayList(Collection<? extends E> c)構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。

    List<String> list3 = new ArrayList<>(list2);
    • ArrayList是List接口的典型實現類、主要實現類
    • 本質上,ArrayList是對象引用的一個”變長”數組
    • Array Listi的JDK 1.8之前與之后的實現區別?
      JDK 1.7:ArrayList像餓漢式,直接創建一個初始容量為10的數組
      JDK 1.8:ArrayList像懶漢式,一開始創建一個長度為0的數組,當添加第一個元素時再創建一個始容量為10的數組
    • Arrays.asList(…)方法返回的List集合,既不是 ArrayList實例,也不是Vector實例。Arrays.asList(…)返回值是一個固定長度的List集合

    (四)實現類之一:LinkedList

    • 對與對于頻繁的插入和刪除元素操作,建議使用LinkedList類,效率更高
    • 新增方法:
      void addFirst(Object obj),在鏈表頭部插入一個元素
      void addLast(Object obj),在鏈表尾部添加一個元素
      Object getFirst(),獲取第一個元素
      Object getlast)(),獲取最后一個元素
      Object removeFirst(),刪除頭,獲取元素并刪除
      Object removeLast()刪除尾
    • Linkedlist:雙向鏈表,內部沒有聲明數組,而是定義了Node類型的frst和last,用于記錄首末元素。同時,定義內部類Node,作為 Linkedlist中保存數據的基本結構。Node除了保存數據,還定義了兩個變量:
      prev變量記錄前一個元素的位置
      next變量記錄下一個元素的位置
    • LinkedList 是非線程安全的,并發環境下,多個線程同時操作 LinkedList,會引發不可預知的錯誤

    (五)實現類之一:Vector

    • Vector是一個古老的集合,JDK 1.0就有了。大多數操作與ArrayList相同,區別在于Vector是線程安全的
    • 在各種list中,最好把ArrayList作為缺省選擇。當插入、刪除頻繁時,使用LinkedList;Vector總是比ArrayList慢,所以盡量避免選擇使用。
    • JDK 7.0和JDK 8.0中通過Vector()構造器創建對象時,底層都創建了長度為10的數組。
    • 在擴容方面,默認擴容為原來的數組長度的2倍。

    四、Collection子接口:Set接口

    (一)概述

  • 概述
  • Set接口是Collection的子接口,set接口沒有提供額外的方法
    Set集合不允許包含相同的元素,如果試把兩個相同的元素加入同一個Set集合中,則添加操作失敗。(多用于過濾操作,去掉重復數據)
    Set判斷兩個對象是否相同不是使用==運算符,而是根據equals()方法

  • 常用類

    |----Collection接口:單列集合,用來存儲一個一個的對象|----Set接口:存儲無序的、不可重復的數據 -->高中講的“集合”|----HashSet:作為Set接口的主要實現類;線程不安全的;可以存儲null值|----LinkedHashSet:作為HashSet的子類;遍歷其內部數據時,可以按照添加的順序遍歷,對于頻繁的遍歷操作,LinkedHashSet效率高于HashSet.|----TreeSet:可以按照添加對象的指定屬性,進行排序。
  • HashSet使用哈希表實現的,元素是無序的。添加、刪除操作時間復雜度都是O(1)。


    TreeSet內部結構是一個樹結構(紅黑樹),元素是有序的,添加、刪除操作時間復雜度為O(log(n)),并且提供了first(), last(), headSet(), tailSet()等方法來處理有序集合。


    LinkedHashSet是介于HashSet 和 TreeSet之間,內部是一個雙向鏈表結構,所以它的插入是有序的,時間復雜度是O(1)。

  • 存儲的數據特點:
    用于存放無序的、不可重復的元素
  • 以HashSet為例說明:

  • 無序性:不等于隨機性。存儲的數據在底層數組中并非照數組索引的順序添加,而是根據數據的哈希值決定的。
  • 不可重復性:保證添加的元素照equals()判斷時,不能返回true.即:相同的元素只能添加一個。
  • (二)Set接口常用方法

    • Set接口中沒額外定義新的方法,使用的都是Collection中聲明過的方法。

    (三)實現類之一:HashSet

    概述:

    • Hashset是Set接口的典型實現,大多數時候使用Set集合時都使用這個實現類。
    • HashSet按Hash算法來存儲集合中的元素,因此具有很好的存取、查找、刪除性能。
    • HashSet具有以下特點:
  • 不能保證元素的排列順序
  • HashSet不是線程安全的
  • 集合元素可以是nul
    • HashSet集合判斷兩個元素相等的標準:兩個對象通過hashCode()方法比較相等,并且兩個對象的equals()方法返回值也相等
    • 對于存放在Set容器中的對象,對應的類一定要重寫equals()和hashCode(Object obj)方法,以實現對象相等規則。

    元素添加過程:(難點)

    我們向HashSet中添加元素a,首先調用元素a所在類的hashCode()方法,計算元素a的哈希值,此哈希值接著通過某種算法計算出在HashSet底層數組中的存放位置(即為:索引位置),判斷數組此位置上是否已經有元素:

  • 如果此位置上沒有其他元素,則元素a添加成功。 —>情況1
  • 如果此位置上有其他元素b(或以鏈表形式存在的多個元素),則比較元素a與元素b的hash值:
  • 如果hash值不相同,則元素a添加成功。—>情況2
  • 如果hash值相同,進而需要調用元素a所在類的equals()方法:
    equals()返回true,元素a添加失敗
    equals()返回false,則元素a添加成功。—>情況3
  • 對于添加成功的情況2和情況3而言:元素a 與已經存在指定索引位置上數據以鏈表的方式存儲。

    JDK 7.0 和JDK 8.0 元素添加的區別:

  • JDK 7.0 :元素a放到數組中,指向原來的元素。(頭插法)
  • JDK 8.0 :原來的元素在數組中,指向元素a。(尾插法)
  • (四)實現類之一:LinkedHashSet

    • LinkedhashSet是HashSet的子類,是一個哈希表和鏈表的結合,且是一個雙向鏈表。
    • LinkedhashSet根據元素的hashCode值來決定元素的存儲位置但它同時使用雙向鏈表 維護元素的次序,這使得元素看起來是以插入順序保存的。
    • LinkedhashSet插入性能略低于HashSet,但在迭代訪問Set里的全部元素時有很好的性能。(對于頻繁的遍歷操作,LinkedHashSet效率高于HashSet)
    • LinkedhashSet不允許集合元素重復。
    • LinkedHashSet作為HashSet的子類,在添加數據的同時,每個數據還維護了兩個引用,記錄此數據前一個數據和后一個數據。

    (五)實現類之一:TreeSet

    • 繼承結構與接口實現

    與HashSet集合相比,TreeSet還提供了幾個額外方法:

    Comparator comparator():如果TreeSet采用了定制順序,則該方法返回定制排序所使用的Comparator,如果TreeSet采用自然排序,則返回null;
    Object first():返回集合中的第一個元素;
    Object last():返回集合中的最后一個元素;
    Object lower(Object e):返回指定元素之前的元素。
    Object higher(Object e):返回指定元素之后的元素。
    SortedSet subSet(Object fromElement,Object toElement):返回此Set的子集合,含頭不含尾;
    SortedSet headSet(Object toElement):返回此Set的子集,由小于toElement的元素組成;
    SortedSet tailSet(Object fromElement):返回此Set的子集,由大于fromElement的元素組成;

    說明:

    1.向TreeSet中添加的數據,要求是相同類的對象。2.兩種排序方式:自然排序(實現Comparable接口) 和定制排序(Comparator)1)自然排序中,比較兩個對象是否相同的標準為:compareTo()返回0,不再是equals()方法2)定制排序中,比較兩個對象是否相同的標準為:compare()返回0,不再是equals()方法
  • 向TreeSet中添加的數據,要求是相同類的對象。

    執行結果:會拋出一個異常:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    原因:向TreeSet中添加的數據,要求是相同類的對象

  • 兩種排序方式

    執行結果:java.lang.ClassCastException,出現了類型轉換異常
    原因:在于我們需要告訴TreeSet如何來進行比較元素,如果不指定,就會拋出這個異常

  • 解決:

    • 方法一:自然排序(實現Comparable接口)

    指定比較的規則,在自定義類(Person)中實現Comparable接口,并重寫接口中的compareTo方法

    說明:

    • 自然排序:TreeSet會調用集合元素的compareTo(object obj)方法來比較元素之間的大小關系,然后將集合元素按升序(默認情況)排列
    • 如果試圖把一個對象添加到Treeset時,則該對象的類必須實現Comparable接口
    • 實現Comparable的類必須實現compareTo(Object obj)方法,兩個對象即通過compareTo(Object obj)方法的返回值來比較大小
    • Comparable的典型實現:
  • BigDecimal、BigInteger以及所有的數值型對應的包裝類:按它們對應的數值大小進行比較
  • Character:按字符的unic!ode值來進行比較
  • Boolean:true對應的包裝類實例大于fase對應的包裝類實例
  • String:按字符串中字符的unicode值進行比較
  • Date、Time:后邊的時間、日期比前面的時間、日期大
    • 向TreeSet中添加元素時,只有第一個元素無須比較compareTo()方法,后面添加的所有元素都會調用compareTo()方法進行比較。
    • 因為只有相同類的兩個實例才會比較大小,所以向 TreeSet中添加的應該是同一個類的對象。 對于TreeSet集合而言,它判斷兩個對象是否相等的唯一標準是:兩個對象通過compareTo(Object obj)方法比較返回值
    • 當需要把一個對象放入TreeSet中,重寫該對象對應的equals()方法時,應保證該方法與compareTo(Object obj)方法有一致的結果:如果兩個對象通過equals()方法比較返回true,則通過compareTo(object ob)方法比較應返回0。否則,讓人難以理解。

    注意:

    • TreeSet會調用集合元素的compareTo(Objec obj)方法來比較元素之間的大小關系,obj1.compareTo(obj2)如果返回0表示兩個對象相等;如果返回正整數則表明obj1大于obj2,如果是負整數則相反。

    代碼實例:

    public class User implements Comparable{private String name;private int age;//按照姓名從大到小排列,年齡從小到大排列@Overridepublic int compareTo(Object o) {if(o instanceof User){User user = (User)o;int compare = -this.name.compareTo(user.name);if(compare != 0){return compare;}else{return Integer.compare(this.age,user.age);}}else{throw new RuntimeException("輸入的類型不匹配");}}//其他代碼省略 } public class TreeSetTest {@Testpublic void test1(){TreeSet<User> set = new TreeSet<>();set.add(new User("Tom",12));set.add(new User("Jerry",32));set.add(new User("Jack",33));set.add(new User("Jack",56));System.out.println(set);//[User{name='Tom', age=12}, User{name='Jerry', age=32}, User{name='Jack', age=33}, User{name='Jack', age=56}]} }
    • 方法二:定制排序(Comparator)

    說明:

    • TreeSet的自然排序要求元素所屬的類實現Comparable接口,如果元素所屬的類沒有實現 Comparable接口,或不希望按照升序(默認情況)的方式排列元素或希望按照其它屬性大小進行排序,則考慮使用定制排序。定制排序,通過 Comparator接口來實現。需要重寫 compare(T o1,T o2)方法。
    • 利用int compare(T o1,T o2)方法,比較o1和o2的大小:如果方法返回正整數,則表示o1大于o2;如果返回0,表示相等;返回負整數,表示o1小于o2。
    • 要實現定制排序,需要將實現Comparator接口的實例作為形參傳遞給TreeSet的構造器。
    • 此時,仍然只能向Treeset中添加類型相同的對象。否則發生 ClassCastException異常
    • 使用定制排序判斷兩個元素相等的標準是:通過 Comparator比較兩個元素返回了0

    代碼實例:

    @Test public void test2(){//創建一個Comparator接口的對象Comparator com = new Comparator() {//按照年齡從小到大排列@Overridepublic int compare(Object o1, Object o2) {if(o1 instanceof User && o2 instanceof User){User u1 = (User)o1;User u2 = (User)o2;return Integer.compare(u1.getAge(),u2.getAge());}else{throw new RuntimeException("輸入的數據類型不匹配");}}};//如果構造方法中沒有參數,則按照自然排序的方式進行排序//否則按照定制排序TreeSet set = new TreeSet(com);set.add(new User("Tom",12));set.add(new User("Jerry",33));set.add(new User("Jack",33));//該對象插入失敗,因為存在年齡相同的對象set.add(new User("Jack",56));System.out.println(set);//[User{name='Tom', age=12}, User{name='Jerry', age=33}, User{name='Jack', age=56}] }

    五、Map接口

    (一)概述

    • Map與Collection并列存在。用于保存具有映射關系的數據:key-value
    • Map中的key和value都可以是任何引用類型的數據
    • Map中的key用set來存放,不允許重復,即同一個Map對象所對應的類,須重hashCode()和 equals()方法
    • 常用 String類作為Map的“鍵”
    • key和value之間存在單向一對一關系,即通過指定的key總能找到唯一的、確定的value
    • Map接口的常用實現類:HashMap、TreeMap、LinkedHashMap和Properties。其中,HashMap是Map接口使用頻率最高的實現類
    • 常見類結構:

      |----Map:雙列數據,存儲key-value對的數據 ---類似于高中的函數:y = f(x)|----HashMap:作為Map的主要實現類;線程不安全的,效率高;存儲null的key和value|----LinkedHashMap:保證在遍歷map元素時,可以照添加的順序實現遍歷。原因:在原的HashMap底層結構基礎上,添加了一對指針,指向前一個和后一個元素。對于頻繁的遍歷操作,此類執行效率高于HashMap。|----TreeMap:保證照添加的key-value對進行排序,實現排序遍歷。此時考慮key的自然排序或定制排序底層使用紅黑樹|----Hashtable:作為古老的實現類;線程安全的,效率低;不能存儲null的key和value(注意t小寫)|----Properties:常用來處理配置文件。key和value都是String類型HashMap的底層: 數組+鏈表 (JDK 7.0及之前)數組+鏈表+紅黑樹 (JDK 8.0以后)
    • 存儲結構的理解

      Map中的key:無序的、不可重復的,使用Set存儲所的key ---> key所在的類要重寫equals()和hashCode() (以HashMap為例)Map中的value:無序的、可重復的,使用Collection存儲所的value --->value所在的類要重寫equals()一個鍵值對:key-value構成了一個Entry對象。Map中的entry:無序的、不可重復的,使用Set存儲所的entry

    (二)Map接口常用方法

    添加、刪除、修改、查詢方法:

    Object put(Object key,Object value):將指定key-value添加到(或修改)當前map對象中 void putAll(Map m):將m中的所有key-value對存放到當前map中 Object remove(Object key):移除指定key的key-value對,并返回value void clear():清空當前map中的所有數據 Object get(Object key):獲取指定key對應的value boolean containsKey(Object key):是否包含指定的key boolean containsValue(Object value):是否包含指定的value int size():返回map中key-value對的個數 boolean isEmpty():判斷當前map是否為空 boolean equals(Object obj):判斷當前map和參數對象obj是否相等 @Test public void test1(){Map map = new HashMap();//1.Object put(Object key,Object value):將指定key-value添加到(或修改)當前map對象中map.put("AA",11);map.put(45,34);map.put("BB",22);//如果有相同的key,則更新valuemap.put("AA",00);System.out.println(map);//{AA=0, BB=22, 45=34}//2.void putAll(Map m):將m中的所有key-value對存放到當前map中Map map1 = new HashMap();map1.put("CC",33); map1.put("DD",44);map.putAll(map1);System.out.println(map);//{AA=0, BB=22, CC=33, DD=44, 45=34}//3.Object remove(Object key):移除指定key的key-value對,并返回value;如果沒有該key就返回nullObject value = map.remove("CC");System.out.println(value);//33//4.Object get(Object key):獲取指定key對應的valueObject obj = map.get("AA");System.out.println(obj);//0//5.boolean containsKey(Object key):是否包含指定的keySystem.out.println(map.containsKey("AA"));//trueSystem.out.println(map.containsKey("EE"));//flase//6.boolean containsValue(Object value):是否包含指定的valueSystem.out.println(map.containsValue(22));//true//7.void clear():清空當前map中的所有數據map.clear();System.out.println(map.size());//0System.out.println(map);//{}//8.boolean isEmpty():判斷當前map是否為空System.out.println(map.isEmpty());//true }

    元視圖操作的方法:(Map的遍歷)

    Set keySet():返回所有key構成的Set集合 Collection values():返回所有value構成的Collection集合 Set entrySet():返回所有key-value對構成的Set集合 @Test public void test2(){Map map = new HashMap();map.put("AA",11);map.put("BB",22);map.put("CC",33);//方法一:Set keySet():返回所有key構成的Set集合Set set = map.keySet();Iterator iterator = set.iterator();while(iterator.hasNext()){Object obj = iterator.next();System.out.println(obj+"="+map.get(obj));//通過key來找到value}//方法二:Collection values():返回所有value構成的Collection集合,遍歷valueCollection values = map.values();for(Object obj : values){System.out.println(obj);}//方法三:Set entrySet():返回所有key-value對構成的Set集合,集合中的每個元素是Entry類型Set entrySet = map.entrySet();Iterator iterators = entrySet.iterator();while(iterators.hasNext()){Object obj = iterators.next();Map.Entry entry = (Map.Entry)obj;System.out.println(entry.getKey()+"="+entry.getValue());}//方法四:加強for循環for(Map.Entry<String,Object> entry : map.entrySet()){String mapKey = entry.getKey();Object mapValue = entry.getValue();System.out.println(mapKey+":"+mapValue);}}

    (三)實現類之一:HashMap

    元素添加過程簡要說明:

    HashMap的底層實現原理?以jdk7為例說明:

    ????1.HashMap map = new HashMap():
    ????2.在實例化以后,底層創建了長度是16的一維數組Entry[] table。

    ????3.map.put(key1,value1):(可能已經執行過多次put)
    ????4.首先,調用key1所在類的hashCode()計算key1哈希值,此哈希值經過某種算法計算以后,得到在Entry數組中的存放位置。

    1)如果此位置上的數據為空,此時的key1-value1添加成功。 ----情況1
    2)如果此位置上的數據不為空,(意味著此位置上存在一個或多個數據(以鏈表形式存在)),比較key1和已經存在的一個或多個數據的哈希值:

    ①如果key1的哈希值與已經存在的數據的哈希值都不相同,此時key1-value1添加成功。----情況2
    ②如果key1的哈希值和已經存在的某一個數據(key2-value2)的哈希值相同,繼續比較:調用key1所在類的equals(key2)方法,比較:

    如果equals()返回false:此時key1-value1添加成功。----情況3
    如果equals()返回true:使用value1替換value2。

    補充:關于情況2和情況3:此時key1-value1和原來的數據以鏈表的方式存儲。

    HashMap的擴容:(jdk7)

    ????在不斷的添加過程中,會涉及到擴容問題,當超出臨界值(且要存放的位置非空)時,擴容。默認的擴容方式:擴容為原來容量的2倍,并將原有的數據復制過來。
    ????當HashMap中的元素越來越多的時候,hash沖突的幾率也就越來越高,因為數組的長度是固定的。所以為了提高查詢的效率,就要對 HashMap的數組進行擴容,而在HashMap數組擴容之后,原數組中的數據必須重新計算其在新數組中的位置,并放進去,這就是 resize。

    HashMap擴容時機:(jdk7)

    ????當HashMap中的元素個數超過數組大小(數組總大小 length,不是數組中個數)* loadFactor時,就會進行數組擴容,loadFactor的默認值(DEFAULT_LOAD_ FACTOR)為0.75,這是一個折中的取值。也就是說,默認情況下,數組大小(DEFAULT INITIAL CAPACITY)為16,那么當 HashMap中元素個數超過16 * 0.75=12(這個值就是代碼中的 threshold值,也叫做臨界值)的時候,就把數組的大小擴展為2 * 16=32,即擴大一倍,然后重新計算每個元素在數組中的位置,而這是一個非常消耗性能的操作,所以如果我們已經預知 HashMap中元素的個數,那么預設元素的個數能夠有效的提高HashMap的性能。


    HashMap在JDK 8.0底層實現原理:

    HashMap添加元素的過程:(jdk8)

    ????當實例化一個HashMap時,會初始化 initialCapacity和loadFactor,在put第一對映射關系時,系統會創建一個長度為 initialCapacity的Node數組,這個長度在哈希表中被稱為容量(Capacity),在這個數組中可以存放元素的位置我們稱之為“桶”( bucket),每個bucket都有自己的索引,系統可以根據索引快速的查找bucket中的元素。
    ????每個 bucket中存儲一個元素,即一個Node對象,但每一個Noe對象可以帶個引用變量next,用于指向下一個元素,因此,在一個桶中,就有可能生成一個Node鏈。也可能是一個一個 TreeNode對象,每一個Tree node對象可以有兩個葉子結點left和right,因此,在一個桶中,就有可能生成一個TreeNode樹。而新添加的元素作為鏈表的last,或樹的葉子結點。

    HashMap的擴容機制:(jdk8)

    ????當HashMapl中的其中一個鏈的對象個數沒有達到8個和JDK 7.0以前的擴容方式一樣。
    當HashMapl中的其中一個鏈的對象個數如果達到了8個,此時如果 capacity沒有達到64,那么HashMap會先擴容解決,如果已經達到了64,那么這個鏈會變成樹,結點類型由Node變成 Tree Node類型。當然,如果當映射關系被移除后,下次resize方法時判斷樹的結點個數低于6個,也會把樹再轉為鏈表。

    jdk8 相較于jdk7在底層實現方面的不同:

    ????1.new HashMap():底層沒有創建一個長度為16的數組
    ????2. jdk 8底層的數組是:Node[],而非Entry[]

    ????3. 首次調用put()方法時,底層創建長度為16的數組
    ????4. jdk7底層結構只有:數組+鏈表。jdk8中底層結構:數組+鏈表+紅黑樹。

    ????1)形成鏈表時,七上八下(jdk7:新的元素指向舊的元素。jdk8:舊的元素指向新的元素)
    ????2)當數組的某一個索引位置上的元素以鏈表形式存在的數據個數 > 8 且當前數組的長度 64時,此時此索引位置上的所數據改為使用紅黑樹存儲。(方便查找)


    HashMap底層典型屬性的說明:

    ????DEFAULT_INITIAL_CAPACITY : HashMap的默認容量,16
    ????DEFAULT_LOAD_FACTOR:HashMap的默認加載因子:0.75
    ????threshold:擴容的臨界值,= 容量*填充因子:16 * 0.75 => 12
    ????TREEIFY_THRESHOLD:Bucket中鏈表長度大于該默認值,轉化為紅黑樹:JDK 8.0引入
    ????MIN_TREEIFY_CAPACITY:桶中的Node被樹化時最小的hash表容量:64

    (四)實現類之一:LinkedHashMap

    LinkedHashMap底層使用的結構與HashMap相同,因為LinkedHashMap繼承于HashMap.
    區別就在于:LinkedHashMap內部提供了Entry,替換HashMap中的Node.
    與LinkedhashSet類似,LinkedHashMap可以維護Map的迭代順序:迭代順序與Key-value對的插入順序一致

    (五)實現類之一:TreeMap

    ????1.TreeMap存儲Key-Value對時,需要根據key-value對進行排序。TreeMap可以保證所有的 Key-Value對處于有序狀態。
    ????2.TreeSet底層使用紅黑樹結構存儲數據
    ????3.TreeMap的Key的排序:

  • 自然排序: TreeMap的所有的Key必須實現Comparable接口,而且所有的Key應該是同一個類的對象,否則將會拋出ClasssCastEXception()
  • 定制排序:創建 TreeMap時,傳入一個 Comparator對象,該對象負責對TreeMap中的所有key進行排序。此時不需要Map的Key實現Comparable接口
    TreeMap判斷兩個key相等的標準:兩個key通過 compareTo()方法或者compare()方法返回0.
  • 代碼示例:

    class User implements Comparable{String name;int age;public User() {}public User(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}//按照姓名從大到小排列,年齡從小到大排列@Overridepublic int compareTo(Object o) {if(o instanceof User){User user = (User)o;int compare = -this.name.compareTo(user.name);if(compare == 0){ // return this.age-user.age;return Integer.compare(this.age,user.age);}else{return compare;}}throw new RuntimeException("輸入的類型不匹配");}} public class TreeMapTest {//方式二:自然排序@Testpublic void test1() {TreeMap map = new TreeMap();User u1 = new User("Tom",23);User u2 = new User("Jerry",32);User u3 = new User("Tom",20);User u4 = new User("Rose",18);map.put(u1,98);map.put(u2,89);map.put(u3,76);map.put(u4,100);System.out.println(map);}//方式一:定制排序@Testpublic void test2(){Comparator com = new Comparator(){//按照年齡升序排序@Overridepublic int compare(Object o1, Object o2) {if(o1 instanceof User && o2 instanceof User){User user1 = (User)o1;User user2 = (User)o2;return Integer.compare(user1.age,user2.age);}throw new RuntimeException("輸入類型不匹配");}};TreeMap map = new TreeMap(com);User u1 = new User("Tom",23);User u2 = new User("Jerry",32);User u3 = new User("Tom",20);User u4 = new User("Rose",18);map.put(u1,98);map.put(u2,89);map.put(u3,76);map.put(u4,100);System.out.println(map);} }

    (六)使用Properties讀取配置文件

    Hashtable的介紹:

    Hashtable是個古老的Map實現類,JDK1.0就提供了。不同于 HashMap,Hashtable是線程安全的.
    Hashtable實現原理和HashMap相同,功能相同。底層都使用哈希表結構,查詢速度快,很多情況下可以互用
    與HashMap.不同,Hashtable不允許使用null作為key和value.
    與HashMap一樣,Hashtable也不能保證其中Key-value對的順序.
    Hashtable判斷兩個key相等、兩個value相等的標準,與HashMap-致.

    Properties類是Hashtable的子類,該對象用于處理屬性文件

    由于屬性文件里的key、value都是字符串類型,所以Properties里的key和value都是字符串類型
    存取數據時,建議使用setProperty(String key,String value)方法和getProperty(String key)方法

    代碼實例:

    public class PropertiesTest {public static void main(String[] args) {FileInputStream fis = null;try {Properties pros = new Properties();fis = new FileInputStream("jdbc.properties");pros.load(fis);//加載流對應的文件String name = pros.getProperty("name");String password = pros.getProperty("password");System.out.println("name = " + name + ", password = " + password);//name = Tom, password = 123} catch (IOException e) {e.printStackTrace();} finally {if(fis != null){try {fis.close();} catch (IOException e) {e.printStackTrace();}}}} }

    出現中文亂碼的解決辦法:

    使用Classloader加載src目錄下的配置文件

    //Properties:用來讀取配置文件 @Test public void test2() throws Exception {Properties pro = new Properties();//讀取配置文件方式一:此時的文件默認在當前的module下 // FileInputStream fis1 = new FileInputStream(new File("jdbc1.properties")); // pro.load(fis1);//讀取配置文件方式二:使用ClassLoader//配置文件默認識別為:當前module的src下ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();//獲取系統類加載器InputStream fis2 = classLoader.getResourceAsStream("jdbc1.properties");pro.load(fis2);String user = pro.getProperty("user");String password = pro.getProperty("password");System.out.println("user="+user+",password="+password); }

    六、Collections工具類的使用

    1. 作用:

    Collections是一個操作Set、List和Map等集合的工具類
    Collections中提供了一系列靜態的方法對集合元素進行排序、査詢和修改等操作,還提供了對集合對象設置不可變、對集合對象實現同步控制等方法

  • 常用方法:
    排序操作:

    reverse(List):反轉 List 中元素的順序shuffle(List):對 List 集合元素進行隨機排序sort(List):根據元素的自然順序對指定 List 集合元素按升序排序sort(List,Comparator):根據指定的 Comparator 產生的順序對 List 集合元素進行排序swap(List,int, int):將指定 list 集合中的 i 處元素和 j 處元素進行交換

    查找、替換操作:

    Object max(Collection):根據元素的自然順序,返回給定集合中的最大元素Object max(Collection,Comparator):根據 Comparator 指定的順序,返回給定集合中的最大元素Object min(Collection)Object min(Collection,Comparator)int frequency(Collection,Object):返回指定集合中指定元素的出現次數void copy(List dest,List src):將src中的內容復制到dest中boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替換 List 對象的所有舊值

    代碼實例:

  • @Test public void test1(){List list = new ArrayList();list.add(123);list.add(43);list.add(43);list.add(-97);list.add(0);System.out.println(list);//[123, 43, 43, -97, 0]//1.reverse(List):反轉 List 中元素的順序Collections.reverse(list);System.out.println(list);//[0, -97, 43, 43, 123]//2.shuffle(List):對 List 集合元素進行隨機排序Collections.shuffle(list);System.out.println(list);//[123, -97, 43, 0, 43]//3.sort(List):根據元素的自然順序對指定 List 集合元素按升序排序Collections.sort(list);System.out.println(list);//[-97, 0, 43, 43, 123]//4.swap(List,int, int):將指定 list 集合中的 i 處元素和 j 處元素進行交換Collections.swap(list,0,1);System.out.println(list);//[0, -97, 43, 43, 123]//5.int frequency(Collection,Object):返回指定集合中指定元素的出現次數int frequency = Collections.frequency(list, 43);System.out.println(frequency);//2//6.void copy(List dest,List src):將src中的內容復制到dest中/*//報異常java.lang.IndexOutOfBoundsException: Source does not fit in destList dest = new ArrayList();Collections.copy(dest,list);*///正確做法:List dest = Arrays.asList(new Object[list.size()]);Collections.copy(dest,list);System.out.println(dest);//[0, -97, 43, 43, 123]//7.boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替換 List 對象的所有舊值 }
  • 同步控制
    Collections 類中提供了多個 synchronizedXxx() 方法,該方法可使將指定集合包裝成線程同步的集合,從而可以解決多線程并發訪問集合時的線程安全問題

    代碼實例:
  • @Test public void test3(){List list = new ArrayList();list.add(123);list.add(43);list.add(43);list.add(-97);list.add(0);//返回的list1即為線程安全的ListList list1 = Collections.synchronizedList(list); }

    七、面試題

  • 請問 ArrayList/LinkedList/Vector的異同?談談你的理解?ArrayList底層是什么?擴容機制? Vector和 ArrayList的最大區別?
  • ArrayList和 Linkedlist的異同:
    二者都線程不安全,相比線程安全的 Vector,ArrayList執行效率高。 此外,ArrayList是實現了基于動態數組的數據結構,Linkedlist基于鏈表的數據結構。對于隨機訪問get和set,ArrayList覺得優于Linkedlist,因為Linkedlist要移動指針。對于新增和刪除操作add(特指插入)和 remove,Linkedlist比較占優勢,因為 ArrayList要移動數據。
    ArrayList和 Vector的區別:
    Vector和ArrayList幾乎是完全相同的,唯一的區別在于Vector是同步類(synchronized),屬于強同步類。因此開銷就比 ArrayList要大,訪問要慢。正常情況下,大多數的Java程序員使用ArrayList而不是Vector,因為同步完全可以由程序員自己來控制。Vector每次擴容請求其大小的2倍空間,而ArrayList是1.5倍。Vector還有一個子類Stack.

  • 區分List中remove(int index)和remove(Object obj)
  • @Test public void testListRemove() {//區分List中remove(int index)和remove(Object obj)List list = new ArrayList();list.add(1);list.add(2);list.add(3);list.remove(2);//移除index為2的對象System.out.println(list);//[1, 2]list.remove(new Integer(2));//移除值為2的對象System.out.println(list);//[1] }
  • 集合Collection中存儲的如果是自定義類的對象,需要自定義類重寫哪個方法?

    List:equals()方法,add()方法不需要調用equals(),主要用于contains()/remove()/retainsAll()...等方法。Set: (HashSet、LinkedHashSet):equals()、hashCode()(TreeSet):comparable:compareTo(Object obj):comparator:compare(Object o1,Object o2)
  • 關于hashSet()存儲相關的代碼分析

  • @Test public void test2(){HashSet set = new HashSet();Person p1 = new Person(1001,"AA");set.add(p1);p1.name = "CC";set.remove(p1);//此時p1的hashCode()已經變了,移除失敗System.out.println(set);//[Person{id=1001, name='CC'}]set.add(new Person(1001,"CC"));//新對象和p1的hashCode()不同,添加成功(但它們equals相同)System.out.println(set);//[Person{id=1001, name='CC'}, Person{id=1001, name='CC'}]set.add(new Person(1001,"AA"));//新對象和p1的hashCode()相同,但equals不同,添加成功System.out.println(set);//[Person{id=1001, name='CC'}, Person{id=1001, name='CC'}, Person{id=1001, name='AA'}] }
  • 載因子值的大小,對HashMap的影響?
  • ????負載因子的大小決定了HashMap的數據密度。
    ????負載因子越大密度越大,發生碰撞的幾率越高,數組中的鏈表越容易長,造成査詢或插入時的比較次數增多,性能會下降
    ????負載因子越小,就越容易觸發擴容,數據密度也越小,意味著發生碰撞的幾率越小,數組中的鏈表也就越短,查詢和插入時比較的次數也越小,性能會更高。但是會浪費一定的內容空間。而且經常擴容也會影響性能,建議初始化預設大一點的空間
    ????按照其他語言的參考及研究經驗,會考慮將負載因子設置為0.7~0.75,此時平均檢索長度接近于常數。

    好的博客:
    Java集合類(四)—TreeSet
    關于紅黑樹(R-B tree)原理

    總結

    以上是生活随笔為你收集整理的Java集合详解(超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    少妇被粗大的猛进出69影院 | 日本成熟视频免费视频 | 国产在线无码精品电影网 | 亚洲午夜久久久影院 | 欧美国产日韩久久mv | 国产精品第一国产精品 | 欧美亚洲国产一区二区三区 | 国产午夜亚洲精品不卡 | 99精品视频在线观看免费 | 久久午夜无码鲁丝片 | 性色欲网站人妻丰满中文久久不卡 | 婷婷六月久久综合丁香 | 一个人看的www免费视频在线观看 | 国产成人无码av在线影院 | 欧美日本精品一区二区三区 | 成人性做爰aaa片免费看不忠 | 午夜精品久久久久久久久 | 少妇无码一区二区二三区 | 55夜色66夜色国产精品视频 | 日韩无码专区 | 亚洲日韩av一区二区三区四区 | 亚洲第一网站男人都懂 | 高潮毛片无遮挡高清免费 | 国产特级毛片aaaaaa高潮流水 | 欧美日韩一区二区免费视频 | 亚洲 欧美 激情 小说 另类 | 久久无码专区国产精品s | 激情国产av做激情国产爱 | 一个人看的视频www在线 | 激情内射亚州一区二区三区爱妻 | 免费无码午夜福利片69 | 一本久道久久综合婷婷五月 | 亚洲日韩av一区二区三区中文 | 亚洲日韩av一区二区三区中文 | 青青久在线视频免费观看 | 国产香蕉尹人综合在线观看 | 国产69精品久久久久app下载 | 国产精品久久精品三级 | 男人的天堂av网站 | 无套内谢的新婚少妇国语播放 | 55夜色66夜色国产精品视频 | 亚洲中文字幕乱码av波多ji | 日本成熟视频免费视频 | 搡女人真爽免费视频大全 | 樱花草在线播放免费中文 | 中文字幕+乱码+中文字幕一区 | 国产高潮视频在线观看 | 在线观看国产午夜福利片 | 国产在线一区二区三区四区五区 | 国产人妻精品午夜福利免费 | 国产精品多人p群无码 | 亚洲乱亚洲乱妇50p | 日产精品高潮呻吟av久久 | 日韩精品无码一区二区中文字幕 | 亚洲综合在线一区二区三区 | 色综合久久久久综合一本到桃花网 | 国产一区二区不卡老阿姨 | 亚洲性无码av中文字幕 | 亚洲 日韩 欧美 成人 在线观看 | 日韩av激情在线观看 | 在线欧美精品一区二区三区 | 色婷婷综合激情综在线播放 | 熟妇女人妻丰满少妇中文字幕 | 欧美性生交xxxxx久久久 | 日韩欧美群交p片內射中文 | 国产av人人夜夜澡人人爽麻豆 | 无码中文字幕色专区 | 久久国语露脸国产精品电影 | 国产成人午夜福利在线播放 | 亚洲s色大片在线观看 | 在线精品国产一区二区三区 | 麻豆md0077饥渴少妇 | 夜精品a片一区二区三区无码白浆 | 永久黄网站色视频免费直播 | 亚洲aⅴ无码成人网站国产app | 国产成人精品优优av | 国产一区二区三区四区五区加勒比 | 熟妇人妻激情偷爽文 | 麻豆精品国产精华精华液好用吗 | 妺妺窝人体色www在线小说 | 亚洲日韩av片在线观看 | 在线亚洲高清揄拍自拍一品区 | 国产精品鲁鲁鲁 | 双乳奶水饱满少妇呻吟 | 国产综合色产在线精品 | 亚洲精品国产精品乱码视色 | 在线a亚洲视频播放在线观看 | 中文字幕人妻无码一区二区三区 | 国产精品久久久久影院嫩草 | 日本又色又爽又黄的a片18禁 | 中文字幕人妻无码一区二区三区 | 无码毛片视频一区二区本码 | 大胆欧美熟妇xx | 女人被男人爽到呻吟的视频 | 国产特级毛片aaaaaaa高清 | 精品国精品国产自在久国产87 | 亚洲男人av香蕉爽爽爽爽 | 九一九色国产 | 色一情一乱一伦一区二区三欧美 | 欧洲极品少妇 | 在线看片无码永久免费视频 | 精品午夜福利在线观看 | 性色av无码免费一区二区三区 | 国产卡一卡二卡三 | 久久综合给久久狠狠97色 | 亚洲中文字幕无码中文字在线 | 国产无遮挡吃胸膜奶免费看 | 亚洲中文字幕无码中文字在线 | 精品国产乱码久久久久乱码 | 亚洲色成人中文字幕网站 | 成人免费视频一区二区 | 青青久在线视频免费观看 | 成人欧美一区二区三区 | 久久国语露脸国产精品电影 | 久久久久免费精品国产 | 无码人妻丰满熟妇区五十路百度 | 国产成人人人97超碰超爽8 | 久久久久国色av免费观看性色 | 性色欲网站人妻丰满中文久久不卡 | 国产suv精品一区二区五 | 老熟妇仑乱视频一区二区 | 7777奇米四色成人眼影 | 蜜桃av抽搐高潮一区二区 | 天天摸天天透天天添 | 18无码粉嫩小泬无套在线观看 | 久久熟妇人妻午夜寂寞影院 | 欧美怡红院免费全部视频 | 激情内射日本一区二区三区 | 一本加勒比波多野结衣 | 国产精品亚洲一区二区三区喷水 | 国产激情精品一区二区三区 | 成人无码视频免费播放 | 狠狠色噜噜狠狠狠狠7777米奇 | 成人无码视频在线观看网站 | 国产精品资源一区二区 | 99re在线播放 | 女人被男人躁得好爽免费视频 | 久久综合九色综合97网 | 特级做a爰片毛片免费69 | 免费人成网站视频在线观看 | 东京热男人av天堂 | 四十如虎的丰满熟妇啪啪 | 一本久久a久久精品vr综合 | 丰满人妻被黑人猛烈进入 | 乱人伦人妻中文字幕无码 | 国产莉萝无码av在线播放 | 久久久久亚洲精品中文字幕 | 无码人妻丰满熟妇区毛片18 | 欧美激情内射喷水高潮 | 中文字幕人成乱码熟女app | 精品一区二区三区波多野结衣 | 国产超级va在线观看视频 | 欧美成人高清在线播放 | 久久久亚洲欧洲日产国码αv | 国内精品人妻无码久久久影院 | 亚洲 日韩 欧美 成人 在线观看 | 日韩无套无码精品 | 亚洲综合无码一区二区三区 | 免费无码一区二区三区蜜桃大 | 欧美兽交xxxx×视频 | 少妇愉情理伦片bd | 久久亚洲中文字幕无码 | 在线а√天堂中文官网 | 亚洲 另类 在线 欧美 制服 | 国产农村乱对白刺激视频 | 国产亚洲欧美日韩亚洲中文色 | 日韩无套无码精品 | 久久无码中文字幕免费影院蜜桃 | 亚洲综合在线一区二区三区 | 蜜臀av在线播放 久久综合激激的五月天 | 黑人玩弄人妻中文在线 | 在教室伦流澡到高潮hnp视频 | 在线а√天堂中文官网 | 搡女人真爽免费视频大全 | 永久免费观看美女裸体的网站 | 国产精品久久久一区二区三区 | 中国女人内谢69xxxx | 波多野结衣av一区二区全免费观看 | 久激情内射婷内射蜜桃人妖 | 国内精品人妻无码久久久影院蜜桃 | 麻豆人妻少妇精品无码专区 | 丰满少妇熟乱xxxxx视频 | 日韩精品成人一区二区三区 | 欧美精品在线观看 | 久久久久av无码免费网 | 久久久av男人的天堂 | 日本精品人妻无码77777 天堂一区人妻无码 | 玩弄少妇高潮ⅹxxxyw | 内射白嫩少妇超碰 | 夜夜躁日日躁狠狠久久av | 天天拍夜夜添久久精品 | 亚洲va中文字幕无码久久不卡 | 性色欲网站人妻丰满中文久久不卡 | 日本精品人妻无码77777 天堂一区人妻无码 | 5858s亚洲色大成网站www | 蜜桃视频韩日免费播放 | 成人欧美一区二区三区黑人 | 国产精品怡红院永久免费 | 日本精品久久久久中文字幕 | 人妻少妇精品久久 | 九九热爱视频精品 | 国产精品.xx视频.xxtv | 永久免费观看美女裸体的网站 | 亚洲熟妇色xxxxx欧美老妇 | 99精品久久毛片a片 | 曰韩无码二三区中文字幕 | 在教室伦流澡到高潮hnp视频 | 日本一区二区更新不卡 | 狠狠cao日日穞夜夜穞av | 疯狂三人交性欧美 | 国产精品香蕉在线观看 | 色综合久久88色综合天天 | 一本色道婷婷久久欧美 | 欧美国产日韩亚洲中文 | 毛片内射-百度 | 最新版天堂资源中文官网 | 十八禁真人啪啪免费网站 | 六月丁香婷婷色狠狠久久 | 亚洲成av人影院在线观看 | 国产精品二区一区二区aⅴ污介绍 | 无遮挡国产高潮视频免费观看 | 中文字幕无码免费久久99 | 一本久久伊人热热精品中文字幕 | 夜夜高潮次次欢爽av女 | 久久国语露脸国产精品电影 | 亚洲一区二区三区偷拍女厕 | 青青草原综合久久大伊人精品 | 99久久久无码国产aaa精品 | 日韩av无码一区二区三区 | 美女扒开屁股让男人桶 | 中文字幕无码日韩专区 | 亚洲欧美国产精品久久 | 又粗又大又硬毛片免费看 | 亚洲欧美国产精品专区久久 | 牲交欧美兽交欧美 | 免费国产成人高清在线观看网站 | 午夜性刺激在线视频免费 | 波多野结衣av一区二区全免费观看 | 精品一区二区三区波多野结衣 | 国产精品欧美成人 | 亚洲熟悉妇女xxx妇女av | 福利一区二区三区视频在线观看 | 撕开奶罩揉吮奶头视频 | 欧洲vodafone精品性 | 色一情一乱一伦 | 国产成人人人97超碰超爽8 | 国产精品成人av在线观看 | 久久精品国产一区二区三区 | 天下第一社区视频www日本 | 欧美老熟妇乱xxxxx | 动漫av网站免费观看 | 亚洲一区二区三区含羞草 | 欧美熟妇另类久久久久久多毛 | 老子影院午夜伦不卡 | 久久精品成人欧美大片 | 亚洲综合无码久久精品综合 | 亚洲国产日韩a在线播放 | 欧美精品无码一区二区三区 | 色欲综合久久中文字幕网 | 国产一区二区三区影院 | 色综合久久久无码中文字幕 | 男人和女人高潮免费网站 | 中文字幕亚洲情99在线 | 欧美人与禽zoz0性伦交 | 综合激情五月综合激情五月激情1 | 欧美国产亚洲日韩在线二区 | 日本欧美一区二区三区乱码 | 色综合久久久无码网中文 | 理论片87福利理论电影 | 亚洲区小说区激情区图片区 | 久9re热视频这里只有精品 | 久久99精品国产麻豆 | 欧美自拍另类欧美综合图片区 | 国产乱码精品一品二品 | 欧美性猛交内射兽交老熟妇 | 欧美精品一区二区精品久久 | 超碰97人人做人人爱少妇 | 我要看www免费看插插视频 | 国产精品人人妻人人爽 | 精品无码成人片一区二区98 | 夫妻免费无码v看片 | 中文字幕 亚洲精品 第1页 | 天堂在线观看www | 真人与拘做受免费视频 | 人妻少妇精品无码专区动漫 | 熟妇人妻无码xxx视频 | 偷窥村妇洗澡毛毛多 | 欧美日韩一区二区三区自拍 | 成 人 免费观看网站 | 偷窥村妇洗澡毛毛多 | 国产亚洲精品久久久久久 | 老熟妇仑乱视频一区二区 | 国产va免费精品观看 | 最新国产麻豆aⅴ精品无码 | 国产精品自产拍在线观看 | 国产香蕉尹人综合在线观看 | 国产美女极度色诱视频www | 国产suv精品一区二区五 | 国产av一区二区三区最新精品 | 天天躁夜夜躁狠狠是什么心态 | 无码国产乱人伦偷精品视频 | 亚洲精品国产a久久久久久 | 国产成人无码av一区二区 | 内射欧美老妇wbb | 国产97人人超碰caoprom | 精品一区二区三区波多野结衣 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 成人女人看片免费视频放人 | 亚洲成熟女人毛毛耸耸多 | 99久久精品国产一区二区蜜芽 | 熟妇女人妻丰满少妇中文字幕 | 日本xxxx色视频在线观看免费 | 亚洲色欲色欲天天天www | 无码人妻出轨黑人中文字幕 | 日韩精品成人一区二区三区 | 老熟妇乱子伦牲交视频 | 久久国产自偷自偷免费一区调 | 中文字幕久久久久人妻 | 麻豆精品国产精华精华液好用吗 | 亚洲精品中文字幕乱码 | 精品无人国产偷自产在线 | 色欲综合久久中文字幕网 | 日本熟妇大屁股人妻 | 国产偷国产偷精品高清尤物 | 亚洲国产欧美国产综合一区 | 97无码免费人妻超级碰碰夜夜 | 日本精品高清一区二区 | 一本大道伊人av久久综合 | 人人澡人摸人人添 | 国产真实乱对白精彩久久 | 欧美人与禽猛交狂配 | 国产网红无码精品视频 | 国产午夜手机精彩视频 | 少妇的肉体aa片免费 | 日本又色又爽又黄的a片18禁 | 青春草在线视频免费观看 | 老熟女乱子伦 | 久久熟妇人妻午夜寂寞影院 | 波多野结衣一区二区三区av免费 | 久久久婷婷五月亚洲97号色 | 国产乱人无码伦av在线a | 国产麻豆精品精东影业av网站 | 激情五月综合色婷婷一区二区 | 青春草在线视频免费观看 | 亚洲中文字幕在线观看 | 99久久精品国产一区二区蜜芽 | 国产精华av午夜在线观看 | 色欲av亚洲一区无码少妇 | 宝宝好涨水快流出来免费视频 | 一个人免费观看的www视频 | 高清不卡一区二区三区 | 97夜夜澡人人双人人人喊 | √天堂中文官网8在线 | 国产高潮视频在线观看 | 熟女体下毛毛黑森林 | 俺去俺来也www色官网 | 国产精品高潮呻吟av久久4虎 | 免费播放一区二区三区 | 正在播放东北夫妻内射 | 内射后入在线观看一区 | 亚洲码国产精品高潮在线 | 午夜性刺激在线视频免费 | 午夜无码人妻av大片色欲 | 夜夜夜高潮夜夜爽夜夜爰爰 | 中文字幕乱码亚洲无线三区 | 亚洲中文字幕av在天堂 | 成人一区二区免费视频 | 国产莉萝无码av在线播放 | 国产97人人超碰caoprom | 爆乳一区二区三区无码 | 久久国产36精品色熟妇 | 人人妻人人澡人人爽人人精品 | 亚洲乱码中文字幕在线 | 久9re热视频这里只有精品 | 色情久久久av熟女人妻网站 | 久久无码人妻影院 | 丰满少妇熟乱xxxxx视频 | 又大又硬又黄的免费视频 | 国产xxx69麻豆国语对白 | 日本一区二区三区免费高清 | 亚洲小说春色综合另类 | 国产在线aaa片一区二区99 | 亚洲国产精品久久久久久 | 久久无码中文字幕免费影院蜜桃 | 亚洲人成网站在线播放942 | 国产成人精品久久亚洲高清不卡 | 377p欧洲日本亚洲大胆 | 欧美zoozzooz性欧美 | 国产高清不卡无码视频 | 老熟妇仑乱视频一区二区 | 亚洲一区二区三区 | 一本久久a久久精品亚洲 | 国产成人精品一区二区在线小狼 | 性欧美熟妇videofreesex | 中文字幕乱码人妻二区三区 | 午夜无码区在线观看 | 国产农村妇女高潮大叫 | 丰满少妇女裸体bbw | 国产性生大片免费观看性 | 成人三级无码视频在线观看 | 中国女人内谢69xxxxxa片 | 久久亚洲中文字幕无码 | 一个人看的www免费视频在线观看 | 亚洲成色在线综合网站 | 国产性生大片免费观看性 | 国产亚洲精品久久久久久大师 | 亚洲中文字幕在线观看 | 成人欧美一区二区三区黑人 | 亚洲人成网站在线播放942 | 亚洲日韩av片在线观看 | 国内揄拍国内精品人妻 | 无码人妻少妇伦在线电影 | 久久这里只有精品视频9 | 国产真实夫妇视频 | 中文字幕人妻无码一区二区三区 | 久久zyz资源站无码中文动漫 | 999久久久国产精品消防器材 | 色一情一乱一伦一区二区三欧美 | 久久亚洲中文字幕无码 | 老司机亚洲精品影院无码 | 久久www免费人成人片 | 中文字幕 人妻熟女 | 日韩人妻无码中文字幕视频 | 性欧美疯狂xxxxbbbb | 亚洲成av人影院在线观看 | 国产无av码在线观看 | 2019nv天堂香蕉在线观看 | 国产真实夫妇视频 | 亚洲国产精品美女久久久久 | 亚洲七七久久桃花影院 | 蜜桃视频插满18在线观看 | 亚洲国产成人av在线观看 | 中文无码成人免费视频在线观看 | 国产精品第一区揄拍无码 | 中文毛片无遮挡高清免费 | 国产午夜无码精品免费看 | 国产特级毛片aaaaaa高潮流水 | 国产精品自产拍在线观看 | 国产精品无码永久免费888 | 精品日本一区二区三区在线观看 | 欧美精品国产综合久久 | 久久精品国产亚洲精品 | 亚洲国精产品一二二线 | 亚洲无人区午夜福利码高清完整版 | 精品久久久久香蕉网 | 国产人妻精品一区二区三区不卡 | 一区二区传媒有限公司 | 欧美日韩一区二区综合 | 国产舌乚八伦偷品w中 | 真人与拘做受免费视频 | 欧美 丝袜 自拍 制服 另类 | 精品人妻中文字幕有码在线 | 国产成人综合在线女婷五月99播放 | 国产精品人人爽人人做我的可爱 | 无码人妻av免费一区二区三区 | 亚洲精品综合一区二区三区在线 | 亚洲gv猛男gv无码男同 | 免费观看的无遮挡av | 久久亚洲中文字幕无码 | 国产精品丝袜黑色高跟鞋 | 自拍偷自拍亚洲精品10p | 中文字幕人妻无码一夲道 | 国产精品.xx视频.xxtv | 国产精品无码成人午夜电影 | 又黄又爽又色的视频 | 久久综合色之久久综合 | 最近的中文字幕在线看视频 | 67194成是人免费无码 | 亚洲中文无码av永久不收费 | 国产精品对白交换视频 | 亚洲va中文字幕无码久久不卡 | 中文字幕久久久久人妻 | 99久久亚洲精品无码毛片 | 亚洲天堂2017无码 | 少妇厨房愉情理9仑片视频 | 亚洲日本在线电影 | 欧美日韩在线亚洲综合国产人 | 67194成是人免费无码 | 亚洲熟妇色xxxxx欧美老妇 | 日日摸夜夜摸狠狠摸婷婷 | 熟女俱乐部五十路六十路av | 久久久婷婷五月亚洲97号色 | 人人澡人人透人人爽 | 欧洲极品少妇 | 日日干夜夜干 | 国产精品内射视频免费 | 少妇无码av无码专区在线观看 | 成人亚洲精品久久久久 | 99久久久无码国产精品免费 | 久久久久成人片免费观看蜜芽 | 男女猛烈xx00免费视频试看 | 国产尤物精品视频 | 99精品视频在线观看免费 | 成人av无码一区二区三区 | 国精产品一区二区三区 | 日本va欧美va欧美va精品 | 精品国产一区二区三区四区在线看 | 亚洲毛片av日韩av无码 | 人人妻人人澡人人爽精品欧美 | 亚洲国产欧美日韩精品一区二区三区 | 色情久久久av熟女人妻网站 | 亚洲性无码av中文字幕 | 中文字幕人妻无码一区二区三区 | 亚洲无人区一区二区三区 | 少妇厨房愉情理9仑片视频 | 国产午夜亚洲精品不卡下载 | 国产精品久久精品三级 | 国产高清av在线播放 | 女人被男人躁得好爽免费视频 | 人妻尝试又大又粗久久 | 亚洲高清偷拍一区二区三区 | 成人精品一区二区三区中文字幕 | 伊在人天堂亚洲香蕉精品区 | 白嫩日本少妇做爰 | 综合激情五月综合激情五月激情1 | 亚洲成a人片在线观看无码3d | 大色综合色综合网站 | 国产精品高潮呻吟av久久4虎 | 亚洲最大成人网站 | 亚洲天堂2017无码 | 97夜夜澡人人爽人人喊中国片 | 欧美 丝袜 自拍 制服 另类 | 精品无码av一区二区三区 | 性生交片免费无码看人 | 丝袜 中出 制服 人妻 美腿 | 欧美日韩在线亚洲综合国产人 | 天天综合网天天综合色 | 搡女人真爽免费视频大全 | 免费视频欧美无人区码 | 蜜桃视频插满18在线观看 | 午夜成人1000部免费视频 | 丰满人妻一区二区三区免费视频 | 久久99精品国产.久久久久 | 最近的中文字幕在线看视频 | 国产又爽又猛又粗的视频a片 | 高潮毛片无遮挡高清免费 | 国产人妻精品午夜福利免费 | 欧美丰满熟妇xxxx | 激情内射亚州一区二区三区爱妻 | 在线播放无码字幕亚洲 | 久久zyz资源站无码中文动漫 | 国产在线精品一区二区三区直播 | 亚洲色欲色欲天天天www | 成人一在线视频日韩国产 | 精品国产一区二区三区四区在线看 | 我要看www免费看插插视频 | 在线а√天堂中文官网 | 任你躁在线精品免费 | 一本色道久久综合亚洲精品不卡 | 亚洲精品中文字幕 | 精品偷拍一区二区三区在线看 | 中文无码伦av中文字幕 | 黑人大群体交免费视频 | 精品久久久久久亚洲精品 | 强辱丰满人妻hd中文字幕 | 久久99热只有频精品8 | 真人与拘做受免费视频一 | 欧美丰满熟妇xxxx | 18禁黄网站男男禁片免费观看 | 一本大道久久东京热无码av | 久久精品中文字幕一区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 久久久中文久久久无码 | 亚洲综合无码一区二区三区 | 波多野结衣av在线观看 | 国产在线一区二区三区四区五区 | 成人免费视频视频在线观看 免费 | 欧美黑人性暴力猛交喷水 | 丰满人妻翻云覆雨呻吟视频 | 日韩亚洲欧美精品综合 | 婷婷丁香五月天综合东京热 | 西西人体www44rt大胆高清 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲精品久久久久avwww潮水 | 精品久久久中文字幕人妻 | 国产精品怡红院永久免费 | 国产乱人伦偷精品视频 | 国产三级久久久精品麻豆三级 | 国产情侣作爱视频免费观看 | 中文字幕乱码人妻无码久久 | 福利一区二区三区视频在线观看 | 亚洲中文无码av永久不收费 | 午夜福利一区二区三区在线观看 | 风流少妇按摩来高潮 | 高潮毛片无遮挡高清免费视频 | 人人澡人摸人人添 | 中文字幕人成乱码熟女app | 国产免费无码一区二区视频 | 久久精品国产一区二区三区 | 精品国产乱码久久久久乱码 | 台湾无码一区二区 | 扒开双腿疯狂进出爽爽爽视频 | 免费播放一区二区三区 | 人人澡人人妻人人爽人人蜜桃 | 黑人玩弄人妻中文在线 | 国产午夜亚洲精品不卡 | 亚洲毛片av日韩av无码 | 高清不卡一区二区三区 | 丰满少妇人妻久久久久久 | 中文字幕久久久久人妻 | 麻豆av传媒蜜桃天美传媒 | 欧美老妇交乱视频在线观看 | 伦伦影院午夜理论片 | 成人无码视频免费播放 | 亚洲自偷自偷在线制服 | 亚洲欧洲日本无在线码 | 精品人人妻人人澡人人爽人人 | 性欧美疯狂xxxxbbbb | 国产另类ts人妖一区二区 | 无码精品人妻一区二区三区av | 97久久精品无码一区二区 | 熟妇人妻无乱码中文字幕 | 欧美老妇交乱视频在线观看 | 波多野结衣高清一区二区三区 | 又粗又大又硬毛片免费看 | 一本色道婷婷久久欧美 | 日本精品高清一区二区 | 高清国产亚洲精品自在久久 | 97久久国产亚洲精品超碰热 | 宝宝好涨水快流出来免费视频 | 天天拍夜夜添久久精品大 | 国产农村妇女高潮大叫 | 中文无码成人免费视频在线观看 | 未满成年国产在线观看 | 白嫩日本少妇做爰 | 在线精品亚洲一区二区 | 好男人www社区 | 中文字幕中文有码在线 | 亚洲乱码中文字幕在线 | 青青青手机频在线观看 | 国产在线精品一区二区高清不卡 | 丰满少妇熟乱xxxxx视频 | 牛和人交xxxx欧美 | 青青青爽视频在线观看 | 无码人妻丰满熟妇区毛片18 | 成人精品天堂一区二区三区 | 131美女爱做视频 | 水蜜桃色314在线观看 | 我要看www免费看插插视频 | 人人妻人人澡人人爽欧美一区 | 亚洲精品久久久久avwww潮水 | 久久精品中文字幕大胸 | 色诱久久久久综合网ywww | 亚洲国产精品一区二区美利坚 | 国产av一区二区三区最新精品 | 波多野结衣一区二区三区av免费 | 欧美高清在线精品一区 | 噜噜噜亚洲色成人网站 | 牲欲强的熟妇农村老妇女 | 激情五月综合色婷婷一区二区 | 亚洲人交乣女bbw | 欧美大屁股xxxxhd黑色 | 国产高潮视频在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 一本加勒比波多野结衣 | 丰满诱人的人妻3 | 国产精品久久国产三级国 | 76少妇精品导航 | 内射白嫩少妇超碰 | 樱花草在线社区www | 国产亚洲欧美日韩亚洲中文色 | 国产高清不卡无码视频 | 午夜精品久久久久久久 | 国产真实乱对白精彩久久 | 欧美第一黄网免费网站 | 亚洲自偷自偷在线制服 | 无套内射视频囯产 | 东京无码熟妇人妻av在线网址 | 久久久久久久人妻无码中文字幕爆 | 国产手机在线αⅴ片无码观看 | 亚洲熟妇色xxxxx亚洲 | 成 人影片 免费观看 | 亚洲色成人中文字幕网站 | 久9re热视频这里只有精品 | 未满小14洗澡无码视频网站 | 18精品久久久无码午夜福利 | 欧美日韩一区二区三区自拍 | 狠狠噜狠狠狠狠丁香五月 | 中文字幕精品av一区二区五区 | 夜夜高潮次次欢爽av女 | 成人片黄网站色大片免费观看 | 网友自拍区视频精品 | 亚洲成av人片在线观看无码不卡 | 未满成年国产在线观看 | 疯狂三人交性欧美 | а√天堂www在线天堂小说 | 日韩精品一区二区av在线 | 骚片av蜜桃精品一区 | 国产极品视觉盛宴 | 国産精品久久久久久久 | 99久久人妻精品免费二区 | 2019午夜福利不卡片在线 | 国产欧美亚洲精品a | 97se亚洲精品一区 | 久久久久久久久888 | 国内精品一区二区三区不卡 | 美女毛片一区二区三区四区 | 久久综合九色综合97网 | 精品国产麻豆免费人成网站 | 国产又爽又黄又刺激的视频 | 亚洲精品综合一区二区三区在线 | 国产精品香蕉在线观看 | 亚洲精品一区二区三区婷婷月 | 99riav国产精品视频 | 国产黑色丝袜在线播放 | 国产69精品久久久久app下载 | 狠狠色色综合网站 | а√资源新版在线天堂 | 欧美成人午夜精品久久久 | 香港三级日本三级妇三级 | 国产成人无码区免费内射一片色欲 | 18精品久久久无码午夜福利 | 久久99精品久久久久久动态图 | 欧美亚洲国产一区二区三区 | 午夜精品久久久内射近拍高清 | 风流少妇按摩来高潮 | 久久久久久亚洲精品a片成人 | 99久久人妻精品免费二区 | 丰满护士巨好爽好大乳 | 国产黄在线观看免费观看不卡 | 白嫩日本少妇做爰 | 亚洲欧洲日本综合aⅴ在线 | 扒开双腿疯狂进出爽爽爽视频 | 久久人人爽人人爽人人片av高清 | 亚洲自偷自拍另类第1页 | 麻豆av传媒蜜桃天美传媒 | 青草青草久热国产精品 | 精品久久8x国产免费观看 | 东北女人啪啪对白 | 久久久精品人妻久久影视 | 中文字幕中文有码在线 | 鲁一鲁av2019在线 | 日韩人妻无码一区二区三区久久99 | 日韩视频 中文字幕 视频一区 | 中文字幕日韩精品一区二区三区 | 久久97精品久久久久久久不卡 | 日本欧美一区二区三区乱码 | 亚洲一区二区三区香蕉 | 亚洲国产欧美日韩精品一区二区三区 | 国产精品内射视频免费 | 亚洲精品成人av在线 | 夫妻免费无码v看片 | 人妻无码αv中文字幕久久琪琪布 | 久久精品成人欧美大片 | 99在线 | 亚洲 | 黄网在线观看免费网站 | 亚洲一区二区三区播放 | 国产午夜福利100集发布 | 未满小14洗澡无码视频网站 | aⅴ亚洲 日韩 色 图网站 播放 | 精品久久久久久人妻无码中文字幕 | 亚洲中文字幕无码一久久区 | 人人妻人人澡人人爽人人精品浪潮 | 久久精品国产大片免费观看 | 国产美女精品一区二区三区 | 黑森林福利视频导航 | 少妇性l交大片 | 少妇愉情理伦片bd | 国产午夜无码精品免费看 | 国产精品第一国产精品 | 国产精品美女久久久 | 国产成人午夜福利在线播放 | 日本大乳高潮视频在线观看 | 樱花草在线社区www | 亚洲精品国偷拍自产在线观看蜜桃 | 人人澡人人妻人人爽人人蜜桃 | 97se亚洲精品一区 | 永久免费观看美女裸体的网站 | 动漫av一区二区在线观看 | 黑人粗大猛烈进出高潮视频 | av无码电影一区二区三区 | 国产人妖乱国产精品人妖 | 亚洲天堂2017无码中文 | 免费国产黄网站在线观看 | 国产乱人无码伦av在线a | 亚洲中文字幕乱码av波多ji | 欧美怡红院免费全部视频 | 国产精品久久久久久亚洲影视内衣 | 亚洲午夜无码久久 | 女人被男人躁得好爽免费视频 | 亚洲阿v天堂在线 | 人妻aⅴ无码一区二区三区 | 成人毛片一区二区 | 婷婷五月综合激情中文字幕 | 亚洲精品国产精品乱码视色 | 亚洲午夜久久久影院 | 久久精品国产日本波多野结衣 | 欧美日韩精品 | 无码吃奶揉捏奶头高潮视频 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 成在人线av无码免费 | 国产做国产爱免费视频 | 国产黄在线观看免费观看不卡 | 日本大香伊一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 5858s亚洲色大成网站www | 领导边摸边吃奶边做爽在线观看 | 国产高清av在线播放 | 人人妻人人澡人人爽欧美精品 | 精品aⅴ一区二区三区 | 亚洲另类伦春色综合小说 | 中国女人内谢69xxxx | 久久久久成人片免费观看蜜芽 | 国产人妖乱国产精品人妖 | 亚洲熟妇色xxxxx亚洲 | 人妻少妇精品视频专区 | 欧美变态另类xxxx | 久久午夜无码鲁丝片秋霞 | 日本熟妇大屁股人妻 | 日韩欧美中文字幕在线三区 | 成人欧美一区二区三区黑人免费 | 免费视频欧美无人区码 | 国产精品人妻一区二区三区四 | 国产成人一区二区三区在线观看 | 奇米影视7777久久精品人人爽 | 亚洲а∨天堂久久精品2021 | 97资源共享在线视频 | 午夜福利试看120秒体验区 | 76少妇精品导航 | 国产又爽又猛又粗的视频a片 | 午夜精品一区二区三区在线观看 | 久久国产自偷自偷免费一区调 | 国产精品99久久精品爆乳 | 亚欧洲精品在线视频免费观看 | 人人妻人人藻人人爽欧美一区 | 久久精品中文字幕大胸 | 高潮毛片无遮挡高清免费 | 国产亚洲tv在线观看 | 成人无码影片精品久久久 | 老头边吃奶边弄进去呻吟 | 草草网站影院白丝内射 | 国产激情无码一区二区app | 国产熟妇高潮叫床视频播放 | 男人的天堂av网站 | 亚洲人成人无码网www国产 | 成在人线av无码免费 | 又大又黄又粗又爽的免费视频 | 伊人久久大香线蕉av一区二区 | 久久久精品欧美一区二区免费 | 欧美日韩人成综合在线播放 | 亚洲经典千人经典日产 | 性色av无码免费一区二区三区 | 日本www一道久久久免费榴莲 | 国产特级毛片aaaaaaa高清 | 欧美性生交活xxxxxdddd | 四虎国产精品免费久久 | 亚洲人成网站色7799 | 波多野结衣aⅴ在线 | 欧美一区二区三区视频在线观看 | 国产精品久久久久影院嫩草 | 国产69精品久久久久app下载 | 欧美日韩亚洲国产精品 | 中文字幕乱码中文乱码51精品 | 成人影院yy111111在线观看 | 中文字幕乱码人妻无码久久 | 粗大的内捧猛烈进出视频 | 一本加勒比波多野结衣 | 亚洲日本一区二区三区在线 | 377p欧洲日本亚洲大胆 | 国产精品怡红院永久免费 | 人妻互换免费中文字幕 | 国产激情无码一区二区 | 一本精品99久久精品77 | 国产无遮挡又黄又爽又色 | 波多野结衣av一区二区全免费观看 | 无码毛片视频一区二区本码 | 夜夜影院未满十八勿进 | 日产精品99久久久久久 | 亚洲成av人在线观看网址 | 精品国产麻豆免费人成网站 | 无码人妻少妇伦在线电影 | 久久综合香蕉国产蜜臀av | 国产麻豆精品精东影业av网站 | 欧洲欧美人成视频在线 | 国产绳艺sm调教室论坛 | 欧美老人巨大xxxx做受 | 99精品久久毛片a片 | 麻豆国产丝袜白领秘书在线观看 | 亚无码乱人伦一区二区 | 成人欧美一区二区三区 | 久久综合久久自在自线精品自 | 老司机亚洲精品影院无码 | 精品国产乱码久久久久乱码 | 精品国产精品久久一区免费式 | 国产人妻人伦精品1国产丝袜 | 精品人妻人人做人人爽 | 麻豆国产丝袜白领秘书在线观看 | 好爽又高潮了毛片免费下载 | 人人妻人人澡人人爽人人精品浪潮 | 又大又硬又爽免费视频 | 国内少妇偷人精品视频 | 日日碰狠狠躁久久躁蜜桃 | 中国女人内谢69xxxxxa片 | 俺去俺来也www色官网 | 午夜精品久久久内射近拍高清 | 97久久精品无码一区二区 | 国产小呦泬泬99精品 | 女人高潮内射99精品 | 男女超爽视频免费播放 | 久久精品人人做人人综合 | 国产卡一卡二卡三 | 亚洲 激情 小说 另类 欧美 | 国产美女极度色诱视频www | 国产精品久久国产三级国 | 欧美兽交xxxx×视频 | 日本又色又爽又黄的a片18禁 | 亚洲国产综合无码一区 | 国产真实夫妇视频 | 少妇无码一区二区二三区 | 久久精品国产精品国产精品污 | 亚洲国产av精品一区二区蜜芽 | 亚洲国产精品久久人人爱 | 偷窥村妇洗澡毛毛多 | 国产精品国产自线拍免费软件 | 俄罗斯老熟妇色xxxx | 四虎影视成人永久免费观看视频 | 成人一在线视频日韩国产 | 久久久久久九九精品久 | 亚洲中文字幕在线无码一区二区 | 国产真实伦对白全集 | 国产精品嫩草久久久久 | 免费中文字幕日韩欧美 | 97夜夜澡人人爽人人喊中国片 | 欧美三级不卡在线观看 | 人妻体内射精一区二区三四 | 国内精品久久毛片一区二区 | 国产亚洲tv在线观看 | 亚洲国产一区二区三区在线观看 | 久久 国产 尿 小便 嘘嘘 | 一本久道高清无码视频 | 成人精品一区二区三区中文字幕 | 精品乱码久久久久久久 | 51国偷自产一区二区三区 | 久久99精品国产麻豆蜜芽 | 国产乱人无码伦av在线a | 在线观看国产午夜福利片 | 国产高清不卡无码视频 | 妺妺窝人体色www在线小说 | 国产av一区二区三区最新精品 | 六月丁香婷婷色狠狠久久 | 亚洲成在人网站无码天堂 | 少妇激情av一区二区 | 国产精品无码成人午夜电影 | a国产一区二区免费入口 | 丰满妇女强制高潮18xxxx | 免费观看又污又黄的网站 | 激情五月综合色婷婷一区二区 | 性做久久久久久久免费看 | 日韩精品a片一区二区三区妖精 | 老熟女乱子伦 | 亚洲小说春色综合另类 | 国产在线精品一区二区高清不卡 | 黑人玩弄人妻中文在线 | 精品 日韩 国产 欧美 视频 | 免费看男女做好爽好硬视频 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 人人妻人人澡人人爽欧美一区 | 国产色视频一区二区三区 | av无码不卡在线观看免费 | 麻豆精品国产精华精华液好用吗 | 骚片av蜜桃精品一区 | 天堂亚洲免费视频 | 免费无码av一区二区 | 又大又紧又粉嫩18p少妇 | 好男人www社区 | 成在人线av无码免费 | 四虎国产精品免费久久 | 国产内射爽爽大片视频社区在线 | 久久亚洲国产成人精品性色 | 高中生自慰www网站 | 一本久久伊人热热精品中文字幕 | 国内老熟妇对白xxxxhd | 精品少妇爆乳无码av无码专区 | 乌克兰少妇xxxx做受 | 欧美精品在线观看 | 曰本女人与公拘交酡免费视频 | 日本大乳高潮视频在线观看 | 黄网在线观看免费网站 | 久久国产自偷自偷免费一区调 | 国产精品亚洲一区二区三区喷水 | 亚洲精品国偷拍自产在线麻豆 | 98国产精品综合一区二区三区 | 免费人成在线观看网站 | 国色天香社区在线视频 | 自拍偷自拍亚洲精品10p | 久久精品国产一区二区三区 | 秋霞特色aa大片 | 亚洲娇小与黑人巨大交 | 蜜臀av无码人妻精品 | 亚洲欧美色中文字幕在线 | 亚洲一区二区三区在线观看网站 | 欧美阿v高清资源不卡在线播放 | 久久五月精品中文字幕 | 一二三四在线观看免费视频 | 国产精品无码永久免费888 | 久久久久免费精品国产 | 欧美日韩在线亚洲综合国产人 | 欧美猛少妇色xxxxx | 内射爽无广熟女亚洲 | 蜜桃av抽搐高潮一区二区 | 巨爆乳无码视频在线观看 | 久久99精品国产.久久久久 | 香港三级日本三级妇三级 | 久久久国产精品无码免费专区 | 131美女爱做视频 | 内射后入在线观看一区 | 日韩欧美群交p片內射中文 | 婷婷五月综合激情中文字幕 | 国产精品亚洲综合色区韩国 | 99久久久无码国产精品免费 | 成人综合网亚洲伊人 | 亚洲综合伊人久久大杳蕉 | 精品无码国产一区二区三区av | 76少妇精品导航 | 无码一区二区三区在线 | 国产精品无码成人午夜电影 | 小鲜肉自慰网站xnxx | 一区二区三区乱码在线 | 欧洲 | 中文无码伦av中文字幕 | 水蜜桃亚洲一二三四在线 | 强奷人妻日本中文字幕 | 扒开双腿吃奶呻吟做受视频 | 亚拍精品一区二区三区探花 | 日韩av激情在线观看 | 日韩人妻无码一区二区三区久久99 | 国产 浪潮av性色四虎 | 久久久久久亚洲精品a片成人 | 色婷婷欧美在线播放内射 | 国产口爆吞精在线视频 | 国产精品人人爽人人做我的可爱 | 国产美女精品一区二区三区 | 国产乱人偷精品人妻a片 | 未满小14洗澡无码视频网站 | 一个人看的视频www在线 | 在线播放亚洲第一字幕 | 欧美丰满老熟妇xxxxx性 | 俺去俺来也在线www色官网 | 亚洲精品久久久久久久久久久 | 亚洲色大成网站www国产 | 领导边摸边吃奶边做爽在线观看 | 欧美freesex黑人又粗又大 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产麻豆精品一区二区三区v视界 | 中文字幕久久久久人妻 | 露脸叫床粗话东北少妇 | 国产一区二区不卡老阿姨 | 日本熟妇乱子伦xxxx | 亚洲自偷自偷在线制服 | 一二三四社区在线中文视频 | 麻豆果冻传媒2021精品传媒一区下载 | 激情爆乳一区二区三区 | 国产三级精品三级男人的天堂 | 国产亚洲美女精品久久久2020 | 国产莉萝无码av在线播放 | 亚洲人成网站在线播放942 | 日日噜噜噜噜夜夜爽亚洲精品 | 九月婷婷人人澡人人添人人爽 | 精品一二三区久久aaa片 | 综合激情五月综合激情五月激情1 | 俄罗斯老熟妇色xxxx | 国精品人妻无码一区二区三区蜜柚 | 日韩精品无码一区二区中文字幕 | 国产精品无码mv在线观看 | 亚洲人成影院在线无码按摩店 | 亚洲精品中文字幕乱码 | 亚洲阿v天堂在线 | 成年美女黄网站色大免费全看 | 亚洲精品成人av在线 | 欧美真人作爱免费视频 | 久久久久久九九精品久 | 国产精品丝袜黑色高跟鞋 | 青青草原综合久久大伊人精品 | 亚洲欧洲无卡二区视頻 | 精品久久久久久人妻无码中文字幕 | 亚洲国产午夜精品理论片 | 国产精品久久久久久亚洲影视内衣 | 中文字幕+乱码+中文字幕一区 | 久久成人a毛片免费观看网站 | 日本大乳高潮视频在线观看 | 婷婷色婷婷开心五月四房播播 | 啦啦啦www在线观看免费视频 | 日产精品99久久久久久 | 国产精品毛片一区二区 | 漂亮人妻洗澡被公强 日日躁 | 天天燥日日燥 | 又大又黄又粗又爽的免费视频 | 亚洲七七久久桃花影院 | 99精品无人区乱码1区2区3区 | 久久久久久a亚洲欧洲av冫 | 亚洲中文字幕无码中字 | 女人被爽到呻吟gif动态图视看 | 国产绳艺sm调教室论坛 | 精品国产精品久久一区免费式 | 中文精品久久久久人妻不卡 | 亚洲精品国产a久久久久久 | 亚洲成a人片在线观看无码 | 日日摸夜夜摸狠狠摸婷婷 | 无码人妻丰满熟妇区五十路百度 | 亚洲人成影院在线无码按摩店 | 国产亚洲精品久久久久久 | 亚洲精品www久久久 | 午夜熟女插插xx免费视频 | 午夜精品一区二区三区在线观看 | 国产精品久免费的黄网站 | 欧美日韩久久久精品a片 | 领导边摸边吃奶边做爽在线观看 | 精品国产国产综合精品 | 鲁大师影院在线观看 | 国产熟妇高潮叫床视频播放 | 国产成人无码专区 | 亚洲国产精品成人久久蜜臀 | 天天拍夜夜添久久精品 | 国产成人精品视频ⅴa片软件竹菊 | 久久久国产一区二区三区 | 九九综合va免费看 | 精品国产青草久久久久福利 | 人人妻人人澡人人爽精品欧美 | 99久久精品无码一区二区毛片 | 奇米影视7777久久精品 | 男女超爽视频免费播放 | 亚洲欧美日韩综合久久久 | 成人无码视频免费播放 | 毛片内射-百度 | 免费人成在线视频无码 | 97久久超碰中文字幕 | 日韩av激情在线观看 | 国产激情无码一区二区 | 日日天干夜夜狠狠爱 | 乱码午夜-极国产极内射 | 欧美丰满熟妇xxxx性ppx人交 | 三上悠亚人妻中文字幕在线 | www一区二区www免费 | 中文字幕色婷婷在线视频 | 亚洲の无码国产の无码步美 | 巨爆乳无码视频在线观看 | 大屁股大乳丰满人妻 | 国产69精品久久久久app下载 | 给我免费的视频在线观看 | 国产精品成人av在线观看 | 青春草在线视频免费观看 | √8天堂资源地址中文在线 | 亚洲男女内射在线播放 | 国产特级毛片aaaaaaa高清 | 狂野欧美激情性xxxx | 成人免费视频一区二区 | 亚洲欧美精品aaaaaa片 | 无码av最新清无码专区吞精 | 97久久国产亚洲精品超碰热 | 成人试看120秒体验区 | 色老头在线一区二区三区 | 久久亚洲中文字幕精品一区 | 国产高清av在线播放 | 水蜜桃色314在线观看 | 97夜夜澡人人双人人人喊 | 无码精品国产va在线观看dvd | 久青草影院在线观看国产 | 久久精品中文字幕一区 | 色一情一乱一伦 | 又粗又大又硬毛片免费看 | 久久久久免费看成人影片 | 亚洲成a人片在线观看无码3d | 性欧美videos高清精品 | 76少妇精品导航 | 免费人成在线视频无码 | 76少妇精品导航 | 老司机亚洲精品影院 | 亚洲一区二区三区无码久久 | 1000部夫妻午夜免费 | 国产区女主播在线观看 | 无码午夜成人1000部免费视频 | 色一情一乱一伦一区二区三欧美 | 日本一区二区三区免费高清 | 久久久久国色av免费观看性色 | 亚洲va中文字幕无码久久不卡 | 婷婷色婷婷开心五月四房播播 | 妺妺窝人体色www在线小说 | 鲁鲁鲁爽爽爽在线视频观看 | 久久久久av无码免费网 | 任你躁国产自任一区二区三区 | 国产真实夫妇视频 | 亚洲国产精品久久人人爱 | 中文字幕人成乱码熟女app | 色一情一乱一伦一视频免费看 | 女人被爽到呻吟gif动态图视看 | 国产精品久久久久7777 | 久久99精品国产麻豆蜜芽 | 高清无码午夜福利视频 | 强开小婷嫩苞又嫩又紧视频 | 久久五月精品中文字幕 | 国产三级精品三级男人的天堂 | 人人妻人人澡人人爽欧美一区九九 | 亚洲理论电影在线观看 | 人妻插b视频一区二区三区 | 少妇一晚三次一区二区三区 | 久久久国产精品无码免费专区 | 中文字幕无码人妻少妇免费 | 少妇被黑人到高潮喷出白浆 | 狠狠亚洲超碰狼人久久 | 在线观看国产一区二区三区 | 欧美日韩一区二区免费视频 | 成人片黄网站色大片免费观看 | 麻豆人妻少妇精品无码专区 | 欧美自拍另类欧美综合图片区 | 久久精品女人的天堂av | 国产香蕉97碰碰久久人人 | 熟女少妇人妻中文字幕 | 亚洲日韩av一区二区三区四区 | 国产高清不卡无码视频 | 99久久99久久免费精品蜜桃 | 我要看www免费看插插视频 | 呦交小u女精品视频 | 大肉大捧一进一出好爽视频 | 午夜理论片yy44880影院 | 国产高清av在线播放 | 东京热无码av男人的天堂 | 麻豆精品国产精华精华液好用吗 | 亚洲中文字幕在线无码一区二区 | 日本欧美一区二区三区乱码 | 无码av免费一区二区三区试看 | 国产一区二区三区影院 | 日产精品99久久久久久 | av香港经典三级级 在线 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲综合另类小说色区 | 国产熟妇高潮叫床视频播放 | 国产激情无码一区二区app | 亚洲精品一区二区三区四区五区 | 国产成人无码a区在线观看视频app | 国产黑色丝袜在线播放 | 久久午夜夜伦鲁鲁片无码免费 | 一本久久a久久精品vr综合 | 麻豆国产97在线 | 欧洲 | 久久久久久亚洲精品a片成人 | 任你躁国产自任一区二区三区 | 国产艳妇av在线观看果冻传媒 | 激情综合激情五月俺也去 | 亚洲色无码一区二区三区 | 装睡被陌生人摸出水好爽 | 夫妻免费无码v看片 | 在线观看国产午夜福利片 | 日日噜噜噜噜夜夜爽亚洲精品 | 天下第一社区视频www日本 | 色综合久久88色综合天天 | 在线 国产 欧美 亚洲 天堂 | 亚洲色大成网站www国产 | 无套内射视频囯产 | 亚洲人交乣女bbw | 日日干夜夜干 | 欧美黑人巨大xxxxx | 亚欧洲精品在线视频免费观看 | 鲁一鲁av2019在线 | 水蜜桃色314在线观看 | 亚洲国产精华液网站w | 久久久久成人精品免费播放动漫 | 小sao货水好多真紧h无码视频 | 人人妻人人澡人人爽欧美一区九九 | 久久久婷婷五月亚洲97号色 | 日日天干夜夜狠狠爱 | 人妻互换免费中文字幕 | 四虎永久在线精品免费网址 | 正在播放东北夫妻内射 | 亚洲精品中文字幕 | 2020久久超碰国产精品最新 | 国产成人无码av在线影院 | 国产香蕉97碰碰久久人人 | 国产美女极度色诱视频www | 男人的天堂av网站 | 妺妺窝人体色www在线小说 | 欧美精品一区二区精品久久 | 男女爱爱好爽视频免费看 | 精品无码国产一区二区三区av | 欧美放荡的少妇 | 国产精品国产自线拍免费软件 | 97人妻精品一区二区三区 | 97色伦图片97综合影院 | 日本在线高清不卡免费播放 | 亚洲无人区午夜福利码高清完整版 | 天堂无码人妻精品一区二区三区 | 免费无码午夜福利片69 | 俄罗斯老熟妇色xxxx | 亚洲一区二区观看播放 | 久久精品人人做人人综合试看 | √天堂中文官网8在线 | 日日噜噜噜噜夜夜爽亚洲精品 | 婷婷五月综合激情中文字幕 | 在线a亚洲视频播放在线观看 | 国产综合久久久久鬼色 | 狂野欧美性猛xxxx乱大交 | 天堂亚洲2017在线观看 | 欧美刺激性大交 | 成人性做爰aaa片免费看 | 亚洲呦女专区 | 国产精品丝袜黑色高跟鞋 | 久久综合给久久狠狠97色 | 精品无码国产自产拍在线观看蜜 | 亚洲精品鲁一鲁一区二区三区 | 国产午夜精品一区二区三区嫩草 | 欧美怡红院免费全部视频 | 精品日本一区二区三区在线观看 | 亚洲成av人影院在线观看 | 青草视频在线播放 | 成人毛片一区二区 | 国产精品鲁鲁鲁 | 国产另类ts人妖一区二区 | 中文字幕无码人妻少妇免费 | 97久久精品无码一区二区 | 精品一区二区不卡无码av | 高清无码午夜福利视频 | 无码帝国www无码专区色综合 | 午夜福利一区二区三区在线观看 | 99在线 | 亚洲 | 高清国产亚洲精品自在久久 | 荫蒂被男人添的好舒服爽免费视频 | 亚洲 欧美 激情 小说 另类 | 东北女人啪啪对白 | 97久久超碰中文字幕 | 成人动漫在线观看 | 久久熟妇人妻午夜寂寞影院 | 国产无套内射久久久国产 | 日日碰狠狠丁香久燥 | 丰满少妇弄高潮了www | 少妇无码吹潮 | 粉嫩少妇内射浓精videos | 成人免费无码大片a毛片 | 未满成年国产在线观看 | 少妇无码吹潮 | 乌克兰少妇性做爰 | 国产色xx群视频射精 | 久久精品99久久香蕉国产色戒 | 青青久在线视频免费观看 | 亚洲爆乳精品无码一区二区三区 | 亚洲日本在线电影 | 国产区女主播在线观看 | 亚洲国产精品久久人人爱 | 亚洲乱码日产精品bd | 日韩 欧美 动漫 国产 制服 | 又大又紧又粉嫩18p少妇 | 亚洲综合久久一区二区 | 图片区 小说区 区 亚洲五月 | 国产精品久久久久久亚洲影视内衣 | 中文字幕av日韩精品一区二区 | 亚洲精品国产a久久久久久 | 久久这里只有精品视频9 | 久久综合给合久久狠狠狠97色 | 免费观看又污又黄的网站 | 久久久久久国产精品无码下载 | 欧美激情一区二区三区成人 | 日韩人妻少妇一区二区三区 | 中文字幕乱码人妻二区三区 | 夜夜影院未满十八勿进 | 99精品无人区乱码1区2区3区 | 国产亚洲精品久久久久久国模美 | 国产精品资源一区二区 | 成人性做爰aaa片免费看不忠 | 亚洲欧美精品aaaaaa片 | 国产午夜福利100集发布 | 97夜夜澡人人双人人人喊 | 欧美精品一区二区精品久久 | 青青草原综合久久大伊人精品 | 丝袜足控一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产人妻人伦精品1国产丝袜 | 欧美性猛交xxxx富婆 | 老子影院午夜精品无码 | 欧美日韩久久久精品a片 | 亚洲人成影院在线观看 | 玩弄人妻少妇500系列视频 | 51国偷自产一区二区三区 | 亚洲国产精品无码久久久久高潮 | 亚洲精品成a人在线观看 | 国产精品无码mv在线观看 | 秋霞特色aa大片 | 亚洲第一网站男人都懂 | 2020久久超碰国产精品最新 | 国产人妻精品午夜福利免费 | 欧美日韩一区二区免费视频 | 一二三四在线观看免费视频 | 狠狠躁日日躁夜夜躁2020 | 亚洲国产av美女网站 | 少女韩国电视剧在线观看完整 | 少妇一晚三次一区二区三区 | 300部国产真实乱 | 麻豆国产97在线 | 欧洲 | 亚洲人成影院在线无码按摩店 | 玩弄中年熟妇正在播放 | 久久久久亚洲精品中文字幕 | 色欲久久久天天天综合网精品 | 日本大香伊一区二区三区 | 97久久国产亚洲精品超碰热 | 狠狠色丁香久久婷婷综合五月 | 激情国产av做激情国产爱 | 夫妻免费无码v看片 | 亚洲综合精品香蕉久久网 | 黄网在线观看免费网站 | 色诱久久久久综合网ywww | 欧美丰满熟妇xxxx性ppx人交 | 亚洲日韩精品欧美一区二区 | 精品无码国产自产拍在线观看蜜 | 大地资源网第二页免费观看 | 亚洲人成网站免费播放 | 色婷婷香蕉在线一区二区 | 日本护士xxxxhd少妇 | 波多野结衣av一区二区全免费观看 | 日本免费一区二区三区最新 | 中文字幕av日韩精品一区二区 | 色妞www精品免费视频 | 欧美人与物videos另类 | 精品久久久中文字幕人妻 | 全黄性性激高免费视频 | 欧美国产日韩久久mv | 日韩人妻无码一区二区三区久久99 | 国产精品高潮呻吟av久久 | 免费看男女做好爽好硬视频 | 国模大胆一区二区三区 | 国产成人精品视频ⅴa片软件竹菊 | 久久精品国产一区二区三区肥胖 | 夜精品a片一区二区三区无码白浆 | 亚洲日韩精品欧美一区二区 | 丰满人妻被黑人猛烈进入 | 国产疯狂伦交大片 | 国产激情无码一区二区 | 欧美精品免费观看二区 | 亚洲一区二区三区无码久久 | 天天爽夜夜爽夜夜爽 | √天堂中文官网8在线 | 成人亚洲精品久久久久 | 国产精品久久久 | 日日摸夜夜摸狠狠摸婷婷 | 熟女少妇在线视频播放 | 无码人妻久久一区二区三区不卡 | 无遮无挡爽爽免费视频 | 娇妻被黑人粗大高潮白浆 | 国产精品成人av在线观看 | 高中生自慰www网站 | 野外少妇愉情中文字幕 | 波多野42部无码喷潮在线 | 久久久久av无码免费网 | 亚洲中文字幕无码一久久区 | 在线观看欧美一区二区三区 | 人妻尝试又大又粗久久 | 一本一道久久综合久久 | 国产在线精品一区二区三区直播 | 日日碰狠狠丁香久燥 | 国产免费无码一区二区视频 | 无遮挡啪啪摇乳动态图 | 国产精品欧美成人 | 日日夜夜撸啊撸 | 樱花草在线社区www | 中文字幕无码日韩专区 | 欧美成人午夜精品久久久 | 欧美国产日韩亚洲中文 | 狂野欧美激情性xxxx | 欧美 日韩 人妻 高清 中文 | 无码av免费一区二区三区试看 | 午夜福利不卡在线视频 | 国内老熟妇对白xxxxhd | 国产美女极度色诱视频www | 国内精品人妻无码久久久影院 | 久久精品无码一区二区三区 | 亚洲gv猛男gv无码男同 | 国产精品第一国产精品 | 内射欧美老妇wbb | av香港经典三级级 在线 | www一区二区www免费 | 国产超碰人人爽人人做人人添 | 亚洲中文字幕无码一久久区 | 欧美国产日韩久久mv | 久久人人97超碰a片精品 | 97久久精品无码一区二区 | 国产情侣作爱视频免费观看 | 亚洲男女内射在线播放 | 又大又黄又粗又爽的免费视频 | 亚洲国产精品一区二区第一页 | 日韩人妻无码一区二区三区久久99 | 国产国产精品人在线视 | 人妻人人添人妻人人爱 | 欧美老妇交乱视频在线观看 | 性色欲网站人妻丰满中文久久不卡 | 狂野欧美激情性xxxx | 麻豆国产丝袜白领秘书在线观看 | 妺妺窝人体色www在线小说 | 国产精品人妻一区二区三区四 | 黑人巨大精品欧美黑寡妇 | 久久国内精品自在自线 | 亚洲熟妇色xxxxx亚洲 | 日本熟妇乱子伦xxxx | 国产真实夫妇视频 | 午夜免费福利小电影 | 人人妻人人澡人人爽欧美一区九九 | 99久久人妻精品免费二区 | 国产精品无码久久av | 久久亚洲日韩精品一区二区三区 | 欧美阿v高清资源不卡在线播放 | 国产在线aaa片一区二区99 | 日欧一片内射va在线影院 | 久久精品中文字幕一区 | 久久久久久九九精品久 | 久久天天躁夜夜躁狠狠 | 欧洲精品码一区二区三区免费看 | 久久aⅴ免费观看 | 久久综合九色综合97网 | 高潮毛片无遮挡高清免费 | 亚洲日本va午夜在线电影 | 成人性做爰aaa片免费看不忠 | 无码人妻出轨黑人中文字幕 | 国产综合色产在线精品 | 欧美 日韩 亚洲 在线 | 久久人人爽人人爽人人片ⅴ | 国产精品高潮呻吟av久久 | 六月丁香婷婷色狠狠久久 | 在线观看国产午夜福利片 | a在线亚洲男人的天堂 | 亚洲综合另类小说色区 | 麻豆av传媒蜜桃天美传媒 | 久久人人爽人人爽人人片ⅴ | 国产亚洲精品久久久ai换 | 亚洲娇小与黑人巨大交 | 97夜夜澡人人双人人人喊 | 亚洲人成人无码网www国产 | 女人被男人爽到呻吟的视频 | 欧美人与禽zoz0性伦交 | 无码国内精品人妻少妇 | 日本xxxx色视频在线观看免费 | 蜜桃av抽搐高潮一区二区 | 亚洲色欲久久久综合网东京热 | 日本丰满护士爆乳xxxx | 免费观看的无遮挡av | 成人精品一区二区三区中文字幕 | 亚洲一区二区三区国产精华液 | 国产色在线 | 国产 | 秋霞成人午夜鲁丝一区二区三区 | 中国大陆精品视频xxxx | 欧美国产日韩久久mv | 天干天干啦夜天干天2017 | 狠狠色色综合网站 | 欧美丰满熟妇xxxx性ppx人交 | 宝宝好涨水快流出来免费视频 | 娇妻被黑人粗大高潮白浆 | 少妇人妻偷人精品无码视频 | 欧美 日韩 亚洲 在线 | 亚洲人交乣女bbw | 国产亚洲tv在线观看 | 国产av无码专区亚洲awww | 国产成人精品必看 | 国产成人综合色在线观看网站 | 精品亚洲成av人在线观看 | 老熟女重囗味hdxx69 | 男女作爱免费网站 | 偷窥村妇洗澡毛毛多 | 欧美zoozzooz性欧美 | 九月婷婷人人澡人人添人人爽 | 国内精品人妻无码久久久影院 | 啦啦啦www在线观看免费视频 | 亚洲热妇无码av在线播放 | 成人免费视频一区二区 | 久久久久国色av免费观看性色 | 欧美一区二区三区视频在线观看 | 高清不卡一区二区三区 | 久久久久亚洲精品男人的天堂 | 亚洲熟妇色xxxxx欧美老妇y | 亚无码乱人伦一区二区 | 国产人妻人伦精品 | 乌克兰少妇性做爰 | 婷婷丁香六月激情综合啪 | 国产色精品久久人妻 | 高潮喷水的毛片 | 18禁止看的免费污网站 | 无码毛片视频一区二区本码 | 丝袜 中出 制服 人妻 美腿 | 国产亚洲视频中文字幕97精品 | 十八禁真人啪啪免费网站 | 97久久国产亚洲精品超碰热 | 4hu四虎永久在线观看 | 国产 精品 自在自线 | 亚洲精品国产品国语在线观看 | a片免费视频在线观看 | 秋霞特色aa大片 | 久久久久久久女国产乱让韩 | 青草视频在线播放 | 国产又爽又猛又粗的视频a片 | 婷婷六月久久综合丁香 | 日韩精品无码一区二区中文字幕 | 台湾无码一区二区 | 在线成人www免费观看视频 | 国产一区二区三区四区五区加勒比 | 亚洲性无码av中文字幕 | 国产乡下妇女做爰 | 学生妹亚洲一区二区 | aⅴ在线视频男人的天堂 | 久久久国产精品无码免费专区 | 初尝人妻少妇中文字幕 | av无码久久久久不卡免费网站 | 国产亚洲日韩欧美另类第八页 | 特级做a爰片毛片免费69 | 无码国模国产在线观看 | 色婷婷综合激情综在线播放 | 国产激情一区二区三区 | 国产人妻精品一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 午夜性刺激在线视频免费 | 亚洲日本va中文字幕 | 国产精品国产三级国产专播 | 在教室伦流澡到高潮hnp视频 | 国产精品第一区揄拍无码 | 中文字幕 人妻熟女 | 久久午夜无码鲁丝片秋霞 | 性生交大片免费看l | 国产在线精品一区二区三区直播 | 免费播放一区二区三区 | 欧美日韩视频无码一区二区三 | 欧美丰满熟妇xxxx | 无套内谢的新婚少妇国语播放 | 国产精品无码一区二区三区不卡 | 国产成人亚洲综合无码 | 欧美激情综合亚洲一二区 | 无套内谢的新婚少妇国语播放 | 国产办公室秘书无码精品99 | 国产精品久久精品三级 | 性做久久久久久久久 | 在线 国产 欧美 亚洲 天堂 | 中文久久乱码一区二区 | 中文久久乱码一区二区 | 麻豆md0077饥渴少妇 | 久久久久国色av免费观看性色 | 欧美xxxx黑人又粗又长 | 亚洲精品国产第一综合99久久 | 伊人久久大香线焦av综合影院 | 国产精品亚洲专区无码不卡 | 夜先锋av资源网站 | 国产精品成人av在线观看 | 麻豆精品国产精华精华液好用吗 | 在线观看国产一区二区三区 | 图片小说视频一区二区 | 午夜精品久久久久久久久 | 青青草原综合久久大伊人精品 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产精品久久久久久无码 | 99精品久久毛片a片 | 4hu四虎永久在线观看 | 国产精品国产自线拍免费软件 | 六月丁香婷婷色狠狠久久 | 亚洲色成人中文字幕网站 | 欧美zoozzooz性欧美 | 亚洲 欧美 激情 小说 另类 | 麻豆国产丝袜白领秘书在线观看 | 日韩欧美中文字幕公布 | 99re在线播放 | 性欧美牲交在线视频 | 乱人伦中文视频在线观看 | 99精品无人区乱码1区2区3区 | 樱花草在线播放免费中文 | 久久精品丝袜高跟鞋 | 久久伊人色av天堂九九小黄鸭 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲小说春色综合另类 | 麻豆国产人妻欲求不满谁演的 | 久久久久人妻一区精品色欧美 | 2020最新国产自产精品 | 天天av天天av天天透 | 纯爱无遮挡h肉动漫在线播放 | 人人妻人人澡人人爽欧美精品 | 欧美xxxx黑人又粗又长 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 东京热无码av男人的天堂 | 女人色极品影院 | 日韩av无码一区二区三区不卡 | 最近免费中文字幕中文高清百度 | 狠狠色丁香久久婷婷综合五月 | 日本大香伊一区二区三区 | 亚洲色欲久久久综合网东京热 | 亚洲人成网站在线播放942 | 少妇无码av无码专区在线观看 | 国产在线aaa片一区二区99 | 久久婷婷五月综合色国产香蕉 | 女高中生第一次破苞av | 久久久中文字幕日本无吗 |