<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      java 集合3

      1.Map集合

      1.1Map集合概述和特點【理解】

      • Map集合概述

        interface Map<K,V>  K:鍵的類型;V:值的類型
        
      • Map集合的特點

        • 鍵值對映射關系
        • 一個鍵對應一個值
        • 鍵不能重復,值可以重復
        • 元素存取無序
      • Map集合的基本使用

        public class MapDemo01 {
            public static void main(String[] args) {
                //創建集合對象
                Map<String,String> map = new HashMap<String,String>();
        
                //V put(K key, V value) 將指定的值與該映射中的指定鍵相關聯
                map.put("itheima001","林青霞");
                map.put("itheima002","張曼玉");
                map.put("itheima003","王祖賢");
                map.put("itheima003","柳巖");
        
                //輸出集合對象
                System.out.println(map);
            }
        }
        

      1.2Map集合的基本功能【應用】

      • 方法介紹

        方法名 說明
        V put(K key,V value) 添加元素
        V remove(Object key) 根據鍵刪除鍵值對元素
        void clear() 移除所有的鍵值對元素
        boolean containsKey(Object key) 判斷集合是否包含指定的鍵
        boolean containsValue(Object value) 判斷集合是否包含指定的值
        boolean isEmpty() 判斷集合是否為空
        int size() 集合的長度,也就是集合中鍵值對的個數
      • 示例代碼

        public class MapDemo02 {
            public static void main(String[] args) {
                //創建集合對象
                Map<String,String> map = new HashMap<String,String>();
        
                //V put(K key,V value):添加元素
                map.put("張無忌","趙敏");
                map.put("郭靖","黃蓉");
                map.put("楊過","小龍女");
        
                //V remove(Object key):根據鍵刪除鍵值對元素
        //        System.out.println(map.remove("郭靖"));
        //        System.out.println(map.remove("郭襄"));
        
                //void clear():移除所有的鍵值對元素
        //        map.clear();
        
                //boolean containsKey(Object key):判斷集合是否包含指定的鍵
        //        System.out.println(map.containsKey("郭靖"));
        //        System.out.println(map.containsKey("郭襄"));
        
                //boolean isEmpty():判斷集合是否為空
        //        System.out.println(map.isEmpty());
        
                //int size():集合的長度,也就是集合中鍵值對的個數
                System.out.println(map.size());
        
        
                //輸出集合對象
                System.out.println(map);
            }
        }
        

      1.3Map集合的獲取功能【應用】

      • 方法介紹

        方法名 說明
        V get(Object key) 根據鍵獲取值
        Set keySet() 獲取所有鍵的集合
        Collection values() 獲取所有值的集合
        Set<Map.Entry<K,V>> entrySet() 獲取所有鍵值對對象的集合
      • 示例代碼

        public class MapDemo03 {
            public static void main(String[] args) {
                //創建集合對象
                Map<String, String> map = new HashMap<String, String>();
        
                //添加元素
                map.put("張無忌", "趙敏");
                map.put("郭靖", "黃蓉");
                map.put("楊過", "小龍女");
        
                //V get(Object key):根據鍵獲取值
        //        System.out.println(map.get("張無忌"));
        //        System.out.println(map.get("張三豐"));
        
                //Set<K> keySet():獲取所有鍵的集合
        //        Set<String> keySet = map.keySet();
        //        for(String key : keySet) {
        //            System.out.println(key);
        //        }
        
                //Collection<V> values():獲取所有值的集合
                Collection<String> values = map.values();
                for(String value : values) {
                    System.out.println(value);
                }
            }
        }
        

      1.4Map集合的遍歷(方式1)【應用】

      • 遍歷思路

        • 我們剛才存儲的元素都是成對出現的,所以我們把Map看成是一個夫妻對的集合
          • 把所有的丈夫給集中起來
          • 遍歷丈夫的集合,獲取到每一個丈夫
          • 根據丈夫去找對應的妻子
      • 步驟分析

        • 獲取所有鍵的集合。用keySet()方法實現
        • 遍歷鍵的集合,獲取到每一個鍵。用增強for實現
        • 根據鍵去找值。用get(Object key)方法實現
      • 代碼實現

        public class MapDemo01 {
            public static void main(String[] args) {
                //創建集合對象
                Map<String, String> map = new HashMap<String, String>();
        
                //添加元素
                map.put("張無忌", "趙敏");
                map.put("郭靖", "黃蓉");
                map.put("楊過", "小龍女");
        
                //獲取所有鍵的集合。用keySet()方法實現
                Set<String> keySet = map.keySet();
                //遍歷鍵的集合,獲取到每一個鍵。用增強for實現
                for (String key : keySet) {
                    //根據鍵去找值。用get(Object key)方法實現
                    String value = map.get(key);
                    System.out.println(key + "," + value);
                }
            }
        }
        

      1.5Map集合的遍歷(方式2)【應用】

      • 遍歷思路

        • 我們剛才存儲的元素都是成對出現的,所以我們把Map看成是一個夫妻對的集合
          • 獲取所有結婚證的集合
          • 遍歷結婚證的集合,得到每一個結婚證
          • 根據結婚證獲取丈夫和妻子
      • 步驟分析

        • 獲取所有鍵值對對象的集合
          • Set<Map.Entry<K,V>> entrySet():獲取所有鍵值對對象的集合
        • 遍歷鍵值對對象的集合,得到每一個鍵值對對象
          • 用增強for實現,得到每一個Map.Entry
        • 根據鍵值對對象獲取鍵和值
          • 用getKey()得到鍵
          • 用getValue()得到值
      • 代碼實現

        public class MapDemo02 {
            public static void main(String[] args) {
                //創建集合對象
                Map<String, String> map = new HashMap<String, String>();
        
                //添加元素
                map.put("張無忌", "趙敏");
                map.put("郭靖", "黃蓉");
                map.put("楊過", "小龍女");
        
                //獲取所有鍵值對對象的集合
                Set<Map.Entry<String, String>> entrySet = map.entrySet();
                //遍歷鍵值對對象的集合,得到每一個鍵值對對象
                for (Map.Entry<String, String> me : entrySet) {
                    //根據鍵值對對象獲取鍵和值
                    String key = me.getKey();
                    String value = me.getValue();
                    System.out.println(key + "," + value);
                }
            }
        }
        

      1.6Map集合的案例【應用】

      1.6.1HashMap集合練習之鍵是String值是Student

      • 案例需求

        ? 創建一個HashMap集合,鍵是學號(String),值是學生對象(Student)。存儲三個鍵值對元素,并遍歷

      • 代碼實現

        • 學生類

          public class Student {
              private String name;
              private int age;
          
              public Student() {
              }
          
              public Student(String name, int age) {
                  this.name = name;
                  this.age = age;
              }
          
              public String getName() {
                  return name;
              }
          
              public void setName(String name) {
                  this.name = name;
              }
          
              public int getAge() {
                  return age;
              }
          
              public void setAge(int age) {
                  this.age = age;
              }
          }
          
        • 測試類

          /*
              需求:
                  創建一個HashMap集合,鍵是學號(String),值是學生對象(Student)。存儲三個鍵值對元素,并遍歷
          
              思路:
                  1:定義學生類
                  2:創建HashMap集合對象
                  3:創建學生對象
                  4:把學生添加到集合
                  5:遍歷集合
                      方式1:鍵找值
                      方式2:鍵值對對象找鍵和值
           */
          public class HashMapDemo {
              public static void main(String[] args) {
                  //創建HashMap集合對象
                  HashMap<String, Student> hm = new HashMap<String, Student>();
          
                  //創建學生對象
                  Student s1 = new Student("林青霞", 30);
                  Student s2 = new Student("張曼玉", 35);
                  Student s3 = new Student("王祖賢", 33);
          
                  //把學生添加到集合
                  hm.put("itheima001", s1);
                  hm.put("itheima002", s2);
                  hm.put("itheima003", s3);
          
                  //方式1:鍵找值
                  Set<String> keySet = hm.keySet();
                  for (String key : keySet) {
                      Student value = hm.get(key);
                      System.out.println(key + "," + value.getName() + "," + value.getAge());
                  }
                  System.out.println("--------");
          
                  //方式2:鍵值對對象找鍵和值
                  Set<Map.Entry<String, Student>> entrySet = hm.entrySet();
                  for (Map.Entry<String, Student> me : entrySet) {
                      String key = me.getKey();
                      Student value = me.getValue();
                      System.out.println(key + "," + value.getName() + "," + value.getAge());
                  }
              }
          }
          

      1.6.2HashMap集合練習之鍵是Student值是String

      • 案例需求

        • 創建一個HashMap集合,鍵是學生對象(Student),值是居住地 (String)。存儲多個元素,并遍歷。
        • 要求保證鍵的唯一性:如果學生對象的成員變量值相同,我們就認為是同一個對象
      • 代碼實現

        • 學生類

          public class Student {
              private String name;
              private int age;
          
              public Student() {
              }
          
              public Student(String name, int age) {
                  this.name = name;
                  this.age = age;
              }
          
              public String getName() {
                  return name;
              }
          
              public void setName(String name) {
                  this.name = name;
              }
          
              public int getAge() {
                  return age;
              }
          
              public void setAge(int age) {
                  this.age = age;
              }
          
              @Override
              public boolean equals(Object o) {
                  if (this == o) return true;
                  if (o == null || getClass() != o.getClass()) return false;
          
                  Student student = (Student) o;
          
                  if (age != student.age) return false;
                  return name != null ? name.equals(student.name) : student.name == null;
              }
          
              @Override
              public int hashCode() {
                  int result = name != null ? name.hashCode() : 0;
                  result = 31 * result + age;
                  return result;
              }
          }
          
        • 測試類

          public class HashMapDemo {
              public static void main(String[] args) {
                  //創建HashMap集合對象
                  HashMap<Student, String> hm = new HashMap<Student, String>();
          
                  //創建學生對象
                  Student s1 = new Student("林青霞", 30);
                  Student s2 = new Student("張曼玉", 35);
                  Student s3 = new Student("王祖賢", 33);
                  Student s4 = new Student("王祖賢", 33);
          
                  //把學生添加到集合
                  hm.put(s1, "西安");
                  hm.put(s2, "武漢");
                  hm.put(s3, "鄭州");
                  hm.put(s4, "北京");
          
                  //遍歷集合
                  Set<Student> keySet = hm.keySet();
                  for (Student key : keySet) {
                      String value = hm.get(key);
                      System.out.println(key.getName() + "," + key.getAge() + "," + value);
                  }
              }
          }
          

      1.6.3集合嵌套之ArrayList嵌套HashMap

      • 案例需求

        • 創建一個ArrayList集合,存儲三個元素,每一個元素都是HashMap
        • 每一個HashMap的鍵和值都是String,并遍歷。
      • 代碼實現

        public class ArrayListIncludeHashMapDemo {
            public static void main(String[] args) {
                //創建ArrayList集合
                ArrayList<HashMap<String, String>> array = new ArrayList<HashMap<String, String>>();
        
                //創建HashMap集合,并添加鍵值對元素
                HashMap<String, String> hm1 = new HashMap<String, String>();
                hm1.put("孫策", "大喬");
                hm1.put("周瑜", "小喬");
                //把HashMap作為元素添加到ArrayList集合
                array.add(hm1);
        
                HashMap<String, String> hm2 = new HashMap<String, String>();
                hm2.put("郭靖", "黃蓉");
                hm2.put("楊過", "小龍女");
                //把HashMap作為元素添加到ArrayList集合
                array.add(hm2);
        
                HashMap<String, String> hm3 = new HashMap<String, String>();
                hm3.put("令狐沖", "任盈盈");
                hm3.put("林平之", "岳靈珊");
                //把HashMap作為元素添加到ArrayList集合
                array.add(hm3);
        
                //遍歷ArrayList集合
                for (HashMap<String, String> hm : array) {
                    Set<String> keySet = hm.keySet();
                    for (String key : keySet) {
                        String value = hm.get(key);
                        System.out.println(key + "," + value);
                    }
                }
            }
        }
        

      1.6.4集合嵌套之HashMap嵌套ArrayList

      • 案例需求

        • 創建一個HashMap集合,存儲三個鍵值對元素,每一個鍵值對元素的鍵是String,值是ArrayList
        • 每一個ArrayList的元素是String,并遍歷。
      • 代碼實現

        public class HashMapIncludeArrayListDemo {
            public static void main(String[] args) {
                //創建HashMap集合
                HashMap<String, ArrayList<String>> hm = new HashMap<String, ArrayList<String>>();
        
                //創建ArrayList集合,并添加元素
                ArrayList<String> sgyy = new ArrayList<String>();
                sgyy.add("諸葛亮");
                sgyy.add("趙云");
                //把ArrayList作為元素添加到HashMap集合
                hm.put("三國演義",sgyy);
        
                ArrayList<String> xyj = new ArrayList<String>();
                xyj.add("唐僧");
                xyj.add("孫悟空");
                //把ArrayList作為元素添加到HashMap集合
                hm.put("西游記",xyj);
        
                ArrayList<String> shz = new ArrayList<String>();
                shz.add("武松");
                shz.add("魯智深");
                //把ArrayList作為元素添加到HashMap集合
                hm.put("水滸傳",shz);
        
                //遍歷HashMap集合
                Set<String> keySet = hm.keySet();
                for(String key : keySet) {
                    System.out.println(key);
                    ArrayList<String> value = hm.get(key);
                    for(String s : value) {
                        System.out.println("\t" + s);
                    }
                }
            }
        }
        

      1.6.5統計字符串中每個字符出現的次數

      • 案例需求

        • 鍵盤錄入一個字符串,要求統計字符串中每個字符串出現的次數。
        • 舉例:鍵盤錄入“aababcabcdabcde” 在控制臺輸出:“a(5)b(4)c(3)d(2)e(1)”
      • 代碼實現

        public class HashMapDemo {
            public static void main(String[] args) {
                //鍵盤錄入一個字符串
                Scanner sc = new Scanner(System.in);
                System.out.println("請輸入一個字符串:");
                String line = sc.nextLine();
        
                //創建HashMap集合,鍵是Character,值是Integer
        //        HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
                TreeMap<Character, Integer> hm = new TreeMap<Character, Integer>();
        
                //遍歷字符串,得到每一個字符
                for (int i = 0; i < line.length(); i++) {
                    char key = line.charAt(i);
        
                    //拿得到的每一個字符作為鍵到HashMap集合中去找對應的值,看其返回值
                    Integer value = hm.get(key);
        
                    if (value == null) {
                        //如果返回值是null:說明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲
                        hm.put(key,1);
                    } else {
                        //如果返回值不是null:說明該字符在HashMap集合中存在,把該值加1,然后重新存儲該字符和對應的值
                        value++;
                        hm.put(key,value);
                    }
                }
        
                //遍歷HashMap集合,得到鍵和值,按照要求進行拼接
                StringBuilder sb = new StringBuilder();
        
                Set<Character> keySet = hm.keySet();
                for(Character key : keySet) {
                    Integer value = hm.get(key);
                    sb.append(key).append("(").append(value).append(")");
                }
        
                String result = sb.toString();
        
                //輸出結果
                System.out.println(result);
            }
        }
        

      2.Collections集合工具類

      2.1Collections概述和使用【應用】

      • Collections類的作用

        ? 是針對集合操作的工具類

      • Collections類常用方法

        方法名 說明
        public static void sort(List list) 將指定的列表按升序排序
        public static void reverse(List<?> list) 反轉指定列表中元素的順序
        public static void shuffle(List<?> list) 使用默認的隨機源隨機排列指定的列表
      • 示例代碼

        public class CollectionsDemo01 {
            public static void main(String[] args) {
                //創建集合對象
                List<Integer> list = new ArrayList<Integer>();
        
                //添加元素
                list.add(30);
                list.add(20);
                list.add(50);
                list.add(10);
                list.add(40);
        
                //public static <T extends Comparable<? super T>> void sort(List<T> list):將指定的列表按升序排序
        //        Collections.sort(list);
        
                //public static void reverse(List<?> list):反轉指定列表中元素的順序
        //        Collections.reverse(list);
        
                //public static void shuffle(List<?> list):使用默認的隨機源隨機排列指定的列表
                Collections.shuffle(list);
        
                System.out.println(list);
            }
        }
        

      2.2ArrayList集合存儲學生并排序【應用】

      • 案例需求

        • ArrayList存儲學生對象,使用Collections對ArrayList進行排序
        • 要求:按照年齡從小到大排序,年齡相同時,按照姓名的字母順序排序
      • 代碼實現

        • 學生類

          public class Student {
              private String name;
              private int age;
          
              public Student() {
              }
          
              public Student(String name, int age) {
                  this.name = name;
                  this.age = age;
              }
          
              public String getName() {
                  return name;
              }
          
              public void setName(String name) {
                  this.name = name;
              }
          
              public int getAge() {
                  return age;
              }
          
              public void setAge(int age) {
                  this.age = age;
              }
          }
          
        • 測試類

          public class CollectionsDemo02 {
              public static void main(String[] args) {
                  //創建ArrayList集合對象
                  ArrayList<Student> array = new ArrayList<Student>();
          
                  //創建學生對象
                  Student s1 = new Student("linqingxia", 30);
                  Student s2 = new Student("zhangmanyu", 35);
                  Student s3 = new Student("wangzuxian", 33);
                  Student s4 = new Student("liuyan", 33);
          
                  //把學生添加到集合
                  array.add(s1);
                  array.add(s2);
                  array.add(s3);
                  array.add(s4);
          
                  //使用Collections對ArrayList集合排序
                  //sort(List<T> list, Comparator<? super T> c)
                  Collections.sort(array, new Comparator<Student>() {
                      @Override
                      public int compare(Student s1, Student s2) {
                          //按照年齡從小到大排序,年齡相同時,按照姓名的字母順序排序
                          int num = s1.getAge() - s2.getAge();
                          int num2 = num == 0 ? s1.getName().compareTo(s2.getName()) : num;
                          return num2;
                      }
                  });
          
                  //遍歷集合
                  for (Student s : array) {
                      System.out.println(s.getName() + "," + s.getAge());
                  }
              }
          }
          

      3.斗地主案例

      3.1模擬斗地主案例-普通版本【應用】

      • 案例需求

        ? 通過程序實現斗地主過程中的洗牌,發牌和看牌

      • 代碼實現

        public class PokerDemo {
            public static void main(String[] args) {
                //創建一個牌盒,也就是定義一個集合對象,用ArrayList集合實現
                ArrayList<String> array = new ArrayList<String>();
        
                //往牌盒里面裝牌
                /*
                    ?2,?3,?4...?K,?A
                    ?2,...
                    ?2,...
                    ?2,...
                    小王,大王
                 */
                //定義花色數組
                String[] colors = {"?", "?", "?", "?"};
                //定義點數數組
                String[] numbers = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
                for (String color : colors) {
                    for (String number : numbers) {
                        array.add(color + number);
                    }
                }
                array.add("小王");
                array.add("大王");
        
                //洗牌,也就是把牌打撒,用Collections的shuffle()方法實現
                Collections.shuffle(array);
        
        //        System.out.println(array);
        
                //發牌,也就是遍歷集合,給三個玩家發牌
                ArrayList<String> lqxArray = new ArrayList<String>();
                ArrayList<String> lyArray = new ArrayList<String>();
                ArrayList<String> fqyArray = new ArrayList<String>();
                ArrayList<String> dpArray = new ArrayList<String>();
        
                for (int i = 0; i < array.size(); i++) {
                    String poker = array.get(i);
                    if (i >= array.size() - 3) {
                        dpArray.add(poker);
                    } else if (i % 3 == 0) {
                        lqxArray.add(poker);
                    } else if (i % 3 == 1) {
                        lyArray.add(poker);
                    } else if (i % 3 == 2) {
                        fqyArray.add(poker);
                    }
                }
        
                //看牌,也就是三個玩家分別遍歷自己的牌
                lookPoker("林青霞", lqxArray);
                lookPoker("柳巖", lyArray);
                lookPoker("風清揚", fqyArray);
                lookPoker("底牌", dpArray);
            }
        
            //看牌的方法
            public static void lookPoker(String name, ArrayList<String> array) {
                System.out.print(name + "的牌是:");
                for (String poker : array) {
                    System.out.print(poker + " ");
                }
                System.out.println();
            }
        }
        

      3.2模擬斗地主案例-升級版本【應用】

      • 案例需求

        ? 通過程序實現斗地主過程中的洗牌,發牌和看牌。要求:對牌進行排序

      • 代碼實現

        public class PokerDemo {
            public static void main(String[] args) {
                //創建HashMap,鍵是編號,值是牌
                HashMap<Integer, String> hm = new HashMap<Integer, String>();
        
                //創建ArrayList,存儲編號
                ArrayList<Integer> array = new ArrayList<Integer>();
        
                //創建花色數組和點數數組
                String[] colors = {"?", "?", "?", "?"};
                String[] numbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
        
                //從0開始往HashMap里面存儲編號,并存儲對應的牌。同時往ArrayList里面存儲編號
                int index = 0;
        
                for (String number : numbers) {
                    for (String color : colors) {
                        hm.put(index, color + number);
                        array.add(index);
                        index++;
                    }
                }
                hm.put(index, "小王");
                array.add(index);
                index++;
                hm.put(index, "大王");
                array.add(index);
        
                //洗牌(洗的是編號),用Collections的shuffle()方法實現
                Collections.shuffle(array);
        
                //發牌(發的也是編號,為了保證編號是排序的,創建TreeSet集合接收)
                TreeSet<Integer> lqxSet = new TreeSet<Integer>();
                TreeSet<Integer> lySet = new TreeSet<Integer>();
                TreeSet<Integer> fqySet = new TreeSet<Integer>();
                TreeSet<Integer> dpSet = new TreeSet<Integer>();
        
                for (int i = 0; i < array.size(); i++) {
                    int x = array.get(i);
                    if (i >= array.size() - 3) {
                        dpSet.add(x);
                    } else if (i % 3 == 0) {
                        lqxSet.add(x);
                    } else if (i % 3 == 1) {
                        lySet.add(x);
                    } else if (i % 3 == 2) {
                        fqySet.add(x);
                    }
                }
        
                //調用看牌方法
                lookPoker("林青霞", lqxSet, hm);
                lookPoker("柳巖", lySet, hm);
                lookPoker("風清揚", fqySet, hm);
                lookPoker("底牌", dpSet, hm);
            }
        
            //定義方法看牌(遍歷TreeSet集合,獲取編號,到HashMap集合找對應的牌)
            public static void lookPoker(String name, TreeSet<Integer> ts, HashMap<Integer, String> hm) {
                System.out.print(name + "的牌是:");
                for (Integer key : ts) {
                    String poker = hm.get(key);
                    System.out.print(poker + " ");
                }
                System.out.println();
            }
        }
        

      posted on 2021-05-10 10:19  堅持。  閱讀(39)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 亚洲av日韩av综合在线观看| 无码专区 人妻系列 在线 | 亚洲中文久久久精品无码| 国产福利高颜值在线观看| 亚洲超碰97无码中文字幕| 最新亚洲精品国偷自产在线| 色吊丝中文字幕在线观看| 国产综合久久久久鬼色| 高级艳妇交换俱乐部小说| b站永久免费看片大全| 国产一区二区黄色在线观看| 国产一级av在线播放| 亚洲国产精品一区在线看| 亚洲欧美日韩综合久久久| 亚洲欧美综合中文| 九九热爱视频精品视频| 欧美 亚洲 日韩 在线综合| 欧美精品在线观看视频| 东北妇女精品bbwbbw| 99久久精品国产一区色| 成人深夜节目在线观看| 精品国产一区二区三区av性色 | 亚洲精品美女久久久久99| 亚洲一区在线观看青青蜜臀| 亚洲人成网网址在线看| 亚洲 日本 欧洲 欧美 视频| 尤物国产精品福利在线网| 国产老熟女国语免费视频| 国产自拍一区二区三区在线| 亚洲伊人久久精品影院| 久久亚洲av综合悠悠色| 亚洲精品色在线网站| 日韩国产中文字幕精品| 大陆精大陆国产国语精品| 国产短视频精品一区二区| 国产人妻人伦精品婷婷| 日韩高清不卡免费一区二区| 亚洲色欲色欱WWW在线| 灵宝市| 啊轻点灬大JI巴太粗太长了在线| A毛片终身免费观看网站|