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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

黑马程序员_java基础笔记(06)...集合

發(fā)布時間:2025/3/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑马程序员_java基础笔记(06)...集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

——————————?ASP.Net+Android+IOS開發(fā)、.Net培訓、期待與您交流! ——————————

JavaApi(其實就是java給我們提供的已經(jīng)定義好的對象。工具對象:集合框架) 1:Collection ?2:Map集合?3:System類(java.lang) ?4:Runtime類(java.lang) ?5:Date類(java.util) ?6:Calendar類(java.util) ?7:Math類?(java.lang包)

集合框架:★★★★★,用于存儲數(shù)據(jù)的容器。

  特點:

    1:對象封裝數(shù)據(jù),對象多了也需要存儲。集合用于存儲對象。

    2:對象的個數(shù)確定可以使用數(shù)組,但是不確定怎么辦?可以用集合。因為集合是可變長度的。

  集合和數(shù)組的區(qū)別:

    1:數(shù)組是固定長度的;集合可變長度的。

    2:數(shù)組可以存儲基本數(shù)據(jù)類型,也可以存儲引用數(shù)據(jù)類型;集合只能存儲引用數(shù)據(jù)類型。

    3:數(shù)組存儲的元素必須是同一個數(shù)據(jù)類型;集合存儲的對象可以是不同數(shù)據(jù)類型。

  數(shù)據(jù)結(jié)構(gòu):就是容器中存儲數(shù)據(jù)的方式。

  對于集合容器,有很多種。因為每一個容器的自身特點不同,其實原理在于每個容器的內(nèi)部數(shù)據(jù)結(jié)構(gòu)不同。

  集合容器在不斷向上抽取過程中。出現(xiàn)了集合體系。

  在使用一個體系時,原則:參閱頂層內(nèi)容。建立底層對象。

Map與Collection Map與Collection在集合框架中屬并列存在 Map存儲的是鍵值對 Map存儲元素使用put方法,Collection使用add方法 Map集合沒有直接取出元素的方法,而是先轉(zhuǎn)成Set集合,在通過迭代獲取元素 Map集合中鍵要保證唯一性 集合框架的工具類。   Collections     對集合進行查找     取出集合中的最大值,最小值     對List集合進行排序 ?    ……   Arrays     將數(shù)組轉(zhuǎn)成List集合     對數(shù)組進行排序     對數(shù)組進行二分查找

——<?java.util?>——?Collection接口:

  Collection:

    |——List:有序(元素存入集合的順序和取出的順序一致),元素都有索引。元素可以重復。

    |——Set:無序(存入和取出順序有可能不一致),不可以存儲重復元素。必須保證元素唯一性。

  1,添加:

    add(object):添加一個元素

    addAll(Collection)?:添加一個集合中的所有元素。

  2,刪除:

    clear():將集合中的元素全刪除,清空集合。

    remove(obj)?:刪除集合中指定的對象。注意:刪除成功,集合的長度會改變。

    removeAll(collection)?:刪除部分元素。部分元素和傳入Collection一致。

  3,判斷:

    boolean?contains(obj)?:集合中是否包含指定元素?。

    boolean?containsAll(Collection)?:集合中是否包含指定的多個元素。

    boolean?isEmpty():集合中是否有元素。?

  4,獲取:

    int?size():集合中有幾個元素。

  5,取交集:

    boolean??retainAll(Collection)?:對當前集合中保留和指定集合中的相同的元素。如果兩個集合元素相同,返回flase;如果retainAll修改了當前集合,返回true。

  6,獲取集合中所有元素:

    Iterator??iterator():迭代器

  7,將集合變成數(shù)組:

    toArray();

———————————————————————————————————————————————————————————————

——<?java.util?>——?Iterator接口:

  迭代器:是一個接口。作用:用于取集合中的元素。

?boolean

hasNext()??如果仍有元素可以迭代,則返回?true。

?E

next()???返回迭代的下一個元素。

?void

remove()??從迭代器指向的?collection?中移除迭代器返回的最后一個元素(可選操作)。

?

  每一個集合都有自己的數(shù)據(jù)結(jié)構(gòu),都有特定的取出自己內(nèi)部元素的方式。為了便于操作所有的容器,取出元素。將容器內(nèi)部的取出方式按照一個統(tǒng)一的規(guī)則向外提供,這個規(guī)則就是Iterator接口。

  也就說,只要通過該接口就可以取出Collection集合中的元素,至于每一個具體的容器依據(jù)自己的數(shù)據(jù)結(jié)構(gòu),如何實現(xiàn)的具體取出細節(jié),這個不用關(guān)心,這樣就降低了取出元素和具體集合的耦合性。

  Iterator?it?=?coll.iterator();//獲取容器中的迭代器對象,至于這個對象是是什么不重要。這對象肯定符合一個規(guī)則Iterator接口。

———————————————————————————————————————————————————————————————

  public?static?void?main(String[]?args)?{

    Collection?coll?=?new?ArrayList();

    coll.add("abc0");

    coll.add("abc1");

    coll.add("abc2");

    //——————————方式1———————————————

    Iterator?it?=?coll.iterator();

    while(it.hasNext()){

      System.out.println(it.next());

    }

    //——————————方式2用此種———————————————

    for(Iterator?it?=?coll.iterator();it.hasNext();?){

      System.out.println(it.next());

    }

  }

—————————————————————————————————————————————————————————————————

——<?java.util?>——?List接口

  List本身是Collection接口的子接口,具備了Collection的所有方法。現(xiàn)在學習List體系特有的共性方法,查閱方法發(fā)現(xiàn)List的特有方法都有索引,這是該集合最大的特點。

  List:有序(元素存入集合的順序和取出的順序一致),元素都有索引。元素可以重復。

    |——ArrayList:底層的數(shù)據(jù)結(jié)構(gòu)是數(shù)組,線程不同步,ArrayList替代了Vector,查詢元素的速度非常快。

    |——LinkedList:底層的數(shù)據(jù)結(jié)構(gòu)是鏈表,線程不同步,增刪元素的速度非常快。

    |——Vector:底層的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,線程同步的,Vector無論查詢和增刪都巨慢。

  1,添加:

    add(index,element)?:在指定的索引位插入元素。

    addAll(index,collection)?:在指定的索引位插入一堆元素。

  2,刪除:

    remove(index)?:刪除指定索引位的元素。?返回被刪的元素。

  3,獲取:

    Object?get(index)?:通過索引獲取指定元素。

    int?indexOf(obj)?:獲取指定元素第一次出現(xiàn)的索引位,如果該元素不存在返回—1;

    所以,通過—1,可以判斷一個元素是否存在。

    int?lastIndexOf(Object?o)?:反向索引指定元素的位置。

    List?subList(start,end)?:獲取子列表。

  4,修改:

    Object?set(index,element)?:對指定索引位進行元素的修改。

  5,獲取所有元素:

    ListIterator?listIterator():list集合特有的迭代器。

  List集合支持對元素的增、刪、改、查。

  List集合因為角標有了自己的獲取元素的方式:?遍歷。

    for(int?x=0;?x<list.size();?x++){

      sop("get:"+list.get(x));

    }

    在進行l(wèi)ist列表元素迭代的時候,如果想要在迭代過程中,想要對元素進行操作的時候,比如滿足條件添加新元素。會發(fā)生.ConcurrentModificationException并發(fā)修改異常。

  導致的原因是:

    集合引用和迭代器引用在同時操作元素,通過集合獲取到對應的迭代器后,在迭代中,進行集合引用的元素添加,迭代器并不知道,所以會出現(xiàn)異常情況。

  如何解決呢?

    既然是在迭代中對元素進行操作,找迭代器的方法最為合適.可是Iterator中只有hasNext,next,remove方法.通過查閱的它的子接口,ListIterator,發(fā)現(xiàn)該列表迭代器接口具備了對元素的增、刪、改、查的動作。

  ListIterator是List集合特有的迭代器。

  ListIterator?it?=?list.listIterator;//取代Iterator?it?=?list.iterator;

方法摘要

?void

add(E?e)?將指定的元素插入列表(可選操作)。

?boolean

hasNext()?以正向遍歷列表時,如果列表迭代器有多個元素,則返回?true(換句話說,如果?next?返回一個元素而不是拋出異常,則返回?true)。

?boolean

hasPrevious()?如果以逆向遍歷列表,列表迭代器有多個元素,則返回?true。

?E

next()?返回列表中的下一個元素。

?int

nextIndex()?返回對?next?的后續(xù)調(diào)用所返回元素的索引。

?E

previous()?返回列表中的前一個元素。

?int

previousIndex()?返回對?previous?的后續(xù)調(diào)用所返回元素的索引。

?void

remove()?從列表中移除由?next?或?previous?返回的最后一個元素(可選操作)。

?void

set(E?e)?用指定元素替換?next?或?previous?返回的最后一個元素(可選操作)。

?

  可變長度數(shù)組的原理:

    當元素超出數(shù)組長度,會產(chǎn)生一個新數(shù)組,將原數(shù)組的數(shù)據(jù)復制到新數(shù)組中,再將新的元素添加到新數(shù)組中。

    ArrayList:是按照原數(shù)組的50%延長。構(gòu)造一個初始容量為?10?的空列表。

    Vector:是按照原數(shù)組的100%延長。

  注意對于list集合,底層判斷元素是否相同,其實用的是元素自身的equals方法完成的。所以建議元素都要復寫equals方法,建立元素對象自己的比較相同的條件依據(jù)。

  LinkedList的特有方法。

    addFirst();

    addLast();

  在jdk1.6以后。

    offerFirst();

    offerLast();

?

    getFirst():獲取鏈表中的第一個元素。如果鏈表為空,拋出NoSuchElementException;

    getLast();

  在jdk1.6以后。

    peekFirst();獲取鏈表中的第一個元素。如果鏈表為空,返回null。

    peekLast();

?

    removeFirst():獲取鏈表中的第一個元素,但是會刪除鏈表中的第一個元素。如果鏈表為空,拋出NoSuchElementException

    removeLast();

  在jdk1.6以后。

    pollFirst();獲取鏈表中的第一個元素,但是會刪除鏈表中的第一個元素。如果鏈表為空,返回null。

    pollLast();

———————————————————————————————————————————————————————————————

——<?java.util?>——?Set接口

  Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一種,迭代器。

    |——HashSet:底層數(shù)據(jù)結(jié)構(gòu)是哈希表,線程是不同步的。無序,高效;

        HashSet集合保證元素唯一性:通過元素的hashCode方法,和equals方法完成的。

        當元素的hashCode值相同時,才繼續(xù)判斷元素的equals是否為true。

        如果為true,那么視為相同元素,不存。如果為false,那么存儲。

        如果hashCode值不同,那么不判斷equals,從而提高對象比較的速度。

      |——LinkedHashSet:有序,hashset的子類。

    |——TreeSet:對Set集合中的元素的進行指定順序的排序。不同步。TreeSet底層的數(shù)據(jù)結(jié)構(gòu)就是二叉樹。

  哈希表的原理:

    1,對對象元素中的關(guān)鍵字(對象中的特有數(shù)據(jù)),進行哈希算法的運算,并得出一個具體的算法值,這個值?稱為哈希值。

    2,哈希值就是這個元素的位置。

    3,如果哈希值出現(xiàn)沖突,再次判斷這個關(guān)鍵字對應的對象是否相同。如果對象相同,就不存儲,因為元素重復。如果對象不同,就存儲,在原來對象的哈希值基礎?+1順延。

    4,存儲哈希值的結(jié)構(gòu),我們稱為哈希表。

    5,既然哈希表是根據(jù)哈希值存儲的,為了提高效率,最好保證對象的關(guān)鍵字是唯一的。

      這樣可以盡量少的判斷關(guān)鍵字對應的對象是否相同,提高了哈希表的操作效率。

  對于ArrayList集合,判斷元素是否存在,或者刪元素底層依據(jù)都是equals方法。

  對于HashSet集合,判斷元素是否存在,或者刪除元素,底層依據(jù)的是hashCode方法和equals方法。

  TreeSet:

    用于對Set集合進行元素的指定順序排序,排序需要依據(jù)元素自身具備的比較性。

    如果元素不具備比較性,在運行時會發(fā)生ClassCastException異常。

    所以需要元素實現(xiàn)Comparable接口,強制讓元素具備比較性,復寫compareTo方法

    依據(jù)compareTo方法的返回值,確定元素在TreeSet數(shù)據(jù)結(jié)構(gòu)中的位置。

    TreeSet方法保證元素唯一性的方式:就是參考比較方法的結(jié)果是否為0,如果return?0,視為兩個對象重復,不存。

  注意在進行比較時,如果判斷元素不唯一,比如,同姓名,同年齡,才視為同一個人。

    在判斷時,需要分主要條件和次要條件,當主要條件相同時,再判斷次要條件,按照次要條件排序。

  TreeSet集合排序有兩種方式,Comparable和Comparator區(qū)別

    1:讓元素自身具備比較性,需要元素對象實現(xiàn)Comparable接口,覆蓋compareTo方法。

    2:讓集合自身具備比較性,需要定義一個實現(xiàn)了Comparator接口的比較器,并覆蓋compare方法,并將該類對象作為實際參數(shù)傳遞給TreeSet集合的構(gòu)造函數(shù)。

    第二種方式較為靈活。

———————————————————————————————————————————————————————————————

  Map集合:

    |——Hashtable底層是哈希表數(shù)據(jù)結(jié)構(gòu),是線程同步的。不可以存儲null鍵,null值。

    |——HashMap底層是哈希表數(shù)據(jù)結(jié)構(gòu),是線程不同步的。可以存儲null鍵,null值。替代了Hashtable.

    |——TreeMap:底層是二叉樹結(jié)構(gòu),可以對map集合中的鍵進行指定順序的排序。

  Map集合存儲和Collection有著很大不同:

    Collection一次存一個元素;Map一次存一對元素。

    Collection是單列集合;Map是雙列集合。

    Map中的存儲的一對元素:一個是鍵,一個是值,鍵與值之間有對應(映射)關(guān)系。

    特點:要保證map集合中鍵的唯一性。

  1,添加。

    ?put(key,value):當存儲的鍵相同時,新的值會替換老的值,并將老值返回。如果鍵沒有重復,返回null。

    void?putAll(Map);

  2,刪除。

    void?clear():清空

    value?remove(key)?:刪除指定鍵。

  3,判斷。

    boolean?isEmpty():

    boolean?containsKey(key):是否包含key

    boolean?containsValue(value)?:是否包含value

  4,取出。

    int?size():返回長度

    value?get(key)?:通過指定鍵獲取對應的值。如果返回null,可以判斷該鍵不存在。當然有特殊情況,就是在hashmap集合中,是可以存儲null鍵null值的。

    Collection?values():獲取map集合中的所有的值。

  5,想要獲取map中的所有元素:

    原理:map中是沒有迭代器的,collection具備迭代器,只要將map集合轉(zhuǎn)成Set集合,可以使用迭代器了。之所以轉(zhuǎn)成set,是因為map集合具備著鍵的唯一性,其實set集合就來自于map,set集合底層其實用的就是map的方法。

★?把map集合轉(zhuǎn)成set的方法:

  Set?keySet();

  Set?entrySet();//取的是鍵和值的映射關(guān)系。

   Entry就是Map接口中的內(nèi)部接口;

   為什么要定義在map內(nèi)部呢?entry是訪問鍵值關(guān)系的入口,是map的入口,訪問的是map中的鍵值對。

——————————————————————————————————————————————————————————————————

  取出map集合中所有元素的方式一:keySet()方法。

    可以將map集合中的鍵都取出存放到set集合中。對set集合進行迭代。迭代完成,再通過get方法對獲取到的鍵進行值的獲取。

      Set?keySet?=?map.keySet();

      Iterator?it?=?keySet.iterator();

      while(it.hasNext())?{

        Object?key?=?it.next();

        Object?value?=?map.get(key);

        System.out.println(key+":"+value);

      }

—————————————————————————————————————————————————————————————————

  取出map集合中所有元素的方式二:entrySet()方法。

      Set?entrySet?=?map.entrySet();

      Iterator?it?=?entrySet.iterator();

      while(it.hasNext())?{

        Map.Entry??me?=?(Map.Entry)it.next();

        System.out.println(me.getKey()+"::::"+me.getValue());

      }

—————————————————————————————————————————————————————————————————

  使用集合的技巧:

    看到Array就是數(shù)組結(jié)構(gòu),有角標,查詢速度很快。

    看到link就是鏈表結(jié)構(gòu):增刪速度快,而且有特有方法。addFirst;?addLast;?removeFirst();?removeLast();?getFirst();getLast();

    看到hash就是哈希表,就要想要哈希值,就要想到唯一性,就要想到存入到該結(jié)構(gòu)的中的元素必須覆蓋hashCode,equals方法。

    看到tree就是二叉樹,就要想到排序,就想要用到比較。

  比較的兩種方式:

    一個是Comparable:覆蓋compareTo方法;

    一個是Comparator:覆蓋compare方法。

  LinkedHashSet,LinkedHashMap:這兩個集合可以保證哈希表有存入順序和取出順序一致,保證哈希表有序。

  集合什么時候用?

    當存儲的是一個元素時,就用Collection。當存儲對象之間存在著映射關(guān)系時,就使用Map集合。

  保證唯一,就用Set。不保證唯一,就用List。

—————————————————————————————————————————————————————————————————

  Collections它的出現(xiàn)給集合操作提供了更多的功能。這個類不需要創(chuàng)建對象,內(nèi)部提供的都是靜態(tài)方法。

  靜態(tài)方法:

    Collections.sort(list);//list集合進行元素的自然順序排序。

    Collections.sort(list,new?ComparatorByLen());//按指定的比較器方法排序。

    class?ComparatorByLen?implements?Comparator<String>{

      public?int?compare(String?s1,String?s2){

        int?temp?=?s1.length()—s2.length();

        return?temp==0?s1.compareTo(s2):temp;

      }

    }

    Collections.max(list);?//返回list中字典順序最大的元素。

    int?index?=?Collections.binarySearch(list,"zz");//二分查找,返回角標。

    Collections.reverseOrder();//逆向反轉(zhuǎn)排序。

    Collections.shuffle(list);//隨機對list中的元素進行位置的置換。

   將非同步集合轉(zhuǎn)成同步集合的方法Collections中的??XXX?synchronizedXXX(XXX);

    List?synchronizedList(list);

    Map?synchronizedMap(map);

    原理:定義一個類,將集合所有的方法加同一把鎖后返回。

  Collection?和?Collections的區(qū)別:

    Collections是個java.util下的類,是針對集合類的一個工具類,提供一系列靜態(tài)方法,實現(xiàn)對集合的查找、排序、替換、線程安全化(將非同步的集合轉(zhuǎn)換成同步的)等操作。

    Collection是個java.util下的接口,它是各種集合結(jié)構(gòu)的父接口,繼承于它的接口主要有Set和List,提供了關(guān)于集合的一些操作,如插入、刪除、判斷一個元素是否其成員、遍歷等。

————————————————————————————————————————————————————————————————

  Arrays:

    用于操作數(shù)組對象的工具類,里面都是靜態(tài)方法。

    asList方法將數(shù)組轉(zhuǎn)換成list集合。

    String[]?arr?=?{"abc","kk","qq"};

    List<String>?list?=?Arrays.asList(arr);//將arr數(shù)組轉(zhuǎn)成list集合。

    將數(shù)組轉(zhuǎn)換成集合,有什么好處呢?用aslist方法,將數(shù)組變成集合;

    可以通過list集合中的方法來操作數(shù)組中的元素:isEmpty()、contains、indexOf、set;?

    注意(局限性)數(shù)組是固定長度,不可以使用集合對象增加或者刪除等,會改變數(shù)組長度的功能方法。比如add、remove、clear。(會報不支持操作異常UnsupportedOperationException);

    如果數(shù)組中存儲的引用數(shù)據(jù)類型,直接作為集合的元素可以直接用集合方法操作。

    如果數(shù)組中存儲的是基本數(shù)據(jù)類型,asList會將數(shù)組實體作為集合元素存在。

  集合變數(shù)組:用的是Collection接口中的方法:toArray();

    如果給toArray傳遞的指定類型的數(shù)據(jù)長度小于了集合的size,那么toArray方法,會自定再創(chuàng)建一個該類型的數(shù)據(jù),長度為集合的size。

    如果傳遞的指定的類型的數(shù)組的長度大于了集合的size,那么toArray方法,就不會創(chuàng)建新數(shù)組,直接使用該數(shù)組即可,并將集合中的元素存儲到數(shù)組中,其他為存儲元素的位置默認值null。

    所以,在傳遞指定類型數(shù)組時,最好的方式就是指定的長度和size相等的數(shù)組。

   將集合變成數(shù)組后有什么好處?限定了對集合中的元素進行增刪操作,只要獲取這些元素即可。

———————————————————————————————————————————————————————————————

  Jdk5.0新特性:

  Collection在jdk1.5以后,有了一個父接口Iterable,這個接口的出現(xiàn)的將iterator方法進行抽取,提高了擴展性。

————————————————————————————————————————————————————————————————

  增強for循環(huán)foreach語句,foreach簡化了迭代器。

    格式://?增強for循環(huán)括號里寫兩個參數(shù),第一個是聲明一個變量,第二個就是需要迭代的容器

    for(?元素類型?變量名?:?Collection集合?&?數(shù)組?)?{

      …

    }

  高級for循環(huán)和傳統(tǒng)for循環(huán)的區(qū)別:

    高級for循環(huán)在使用時,必須要明確被遍歷的目標。這個目標,可以是Collection集合或者數(shù)組,如果遍歷Collection集合,在遍歷過程中還需要對元素進行操作,比如刪除,需要使用迭代器。

    如果遍歷數(shù)組,還需要對數(shù)組元素進行操作,建議用傳統(tǒng)for循環(huán)因為可以定義角標通過角標操作元素。如果只為遍歷獲取,可以簡化成高級for循環(huán),它的出現(xiàn)為了簡化書寫。

  高級for循環(huán)可以遍歷map集合嗎?不可以。但是可以將map轉(zhuǎn)成set后再使用foreach語句。

  1)、作用:對存儲對象的容器進行迭代:?數(shù)組??collection???map

  2)、增強for循環(huán)迭代數(shù)組

    String?[]?arr?=?{"a",?"b",?"c"};//數(shù)組的靜態(tài)定義方式,只試用于數(shù)組首次定義的時候

    for(String?s?:?arr)?{

      System.out.println(s);

    }

  3)、單列集合?Collection:

    List?list?=?new?ArrayList();

    list.add("aaa");

    //?增強for循環(huán),?沒有使用泛型的集合能不能使用增強for循環(huán)迭代?能

    for(Object?obj?:?list)?{

      String?s?=?(String)?obj;

      System.out.println(s);

    }

  4)、雙列集合?Map:

    Map?map?=?new?HashMap();

    map.put("a",?"aaa");

    //?傳統(tǒng)方式:必須掌握這種方式

    Set?entrys?=?map.entrySet();?//?1.獲得所有的鍵值對Entry對象

    iter?=?entrys.iterator();?//?2.迭代出所有的entry

    while(iter.hasNext())?{

      Map.Entry?entry?=?(Entry)?iter.next();

      String?key?=?(String)?entry.getKey();?//?分別獲得key和value

      String?value?=?(String)?entry.getValue();

      System.out.println(key?+?"="?+?value);

    }

    //?增強for循環(huán)迭代: 原則上map集合是無法使用增強for循環(huán)來迭代的,因為增強for循環(huán)只能針對實現(xiàn)了Iterable接口的集合進行迭代;Iterable是jdk5 中新定義的接口,就一個方法iterator方法,只有實現(xiàn)了Iterable接口的類,才能保證一定有iterator方法,java有這樣的限定是因 為增強for循環(huán)內(nèi)部還是用迭代器實現(xiàn)的,而實際上,我們可以通過某種方式來使用增強for循環(huán)。

    for(Object?obj?:?map.entrySet())?{

      Map.Entry?entry?=?(Entry)?obj;??//?obj?依次表示Entry

      System.out.println(entry.getKey()?+?"="?+?entry.getValue());

    }

  5)、集合迭代注意問題:在迭代集合的過程中,不能對集合進行增刪操作(會報并發(fā)訪問異常);可以用迭代器的方法進行操作(子類listIterator:有增刪的方法)。

  6)、增強for循環(huán)注意問題:在使用增強for循環(huán)時,不能對元素進行賦值;

    int[]?arr?=?{1,2,3};

    for(int?num?:?arr)?{

      num?=?0;?//不能改變數(shù)組的值

    }

    System.out.println(arr[1]);?//2

————————————————————————————————————————————————————————————————

  可變參數(shù)(...):用到函數(shù)的參數(shù)上,當要操作的同一個類型元素個數(shù)不確定的時候,可是用這個方式,這個參數(shù)可以接受任意個數(shù)的同一類型的數(shù)據(jù)。

  和以前接收數(shù)組不一樣的是

    以前定義數(shù)組類型,需要先創(chuàng)建一個數(shù)組對象,再將這個數(shù)組對象作為參數(shù)傳遞給函數(shù)。現(xiàn)在,直接將數(shù)組中的元素作為參數(shù)傳遞即可。底層其實是將這些元素進行數(shù)組的封裝,而這個封裝動作,是在底層完成的,被隱藏了。所以簡化了用戶的書寫,少了調(diào)用者定義數(shù)組的動作。

    如果在參數(shù)列表中使用了可變參數(shù),可變參數(shù)必須定義在參數(shù)列表結(jié)尾(也就是必須是最后一個參數(shù),否則編譯會失敗。)。

    如果要獲取多個int數(shù)的和呢?可以使用將多個int數(shù)封裝到數(shù)組中,直接對數(shù)組求和即可。

StaticImport??靜態(tài)導入。當類名重名時,需要指定具體的包名。當方法重名是,指定具備所屬的對象或者類。 其他常用的API: 3:System類(java.lang)

  System?類包含一些有用的類字段和方法。它不能被實例化。在?System?類提供的設施中,有標準輸入、標準輸出和錯誤輸出流;對外部定義的屬性和環(huán)境變量的訪問;加載文件和庫的方法;還有快速復制數(shù)組的一部分的實用方法。?

System:類中的方法和屬性都是靜態(tài)的。 out:標準輸出,默認是控制臺。 in:標準輸入,默認是鍵盤。 獲取系統(tǒng)屬性信息:Properties getProperties(); Properties prop = System.getProperties(); //因為Properties是Hashtable的子類,也就是Map集合的一個子類對象。 //那么可以通過map的方法取出該集合中的元素。 //該集合中存儲都是字符串。沒有泛型定義。 ? //如何在系統(tǒng)中自定義一些特有信息呢? System.setProperty("mykey","myvalue"); //獲取指定屬性信息。 String value = System.getProperty("os.name"); System.out.println("value="+value); //可不可以在jvm啟動時,動態(tài)加載一些屬性信息呢? String v = System.getProperty("haha"); System.out.println("v="+v); //獲取所有屬性信息。 for(Object obj : prop.keySet()){ String value = (String)prop.get(obj); System.out.println(obj+"::"+value); } 4:Runtime(java.lang)

  每個 Java 應用程序都有一個?Runtime?類實例,使應用程序能夠與其運行的環(huán)境相連接。可以通過?getRuntime?方法獲取當前運行時。應用程序不能創(chuàng)建自己的 Runtime 類實例。?

Runtime對象:該類并沒有提供構(gòu)造函數(shù)。說明不可以new對象。那么會直接想到該類中的方法都是靜態(tài)的。發(fā)現(xiàn)該類中還有非靜態(tài)方法。說明該類肯定會提供了方法獲取本類對象。而且該方法是靜態(tài)的,并返回值類型是本類類型。由這個特點可以看出該類使用了單例設計模式完成。該方式是static Runtime getRuntime(); class ?RuntimeDemo{   public static void main(String[] args) throws Exception{     Runtime r = Runtime.getRuntime();     Process p = r.exec("notepad.exe ?SystemDemo.java");     Thread.sleep(4000);     p.destroy();   } } 5:Date(java.util)類?Date?表示特定的瞬間,精確到毫秒。SimpleDateFormat //將模式封裝到SimpleDateformat對象中。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss"); //調(diào)用format方法讓模式格式化指定Date對象。 String time = sdf.format(d); System.out.println("time="+time); long l = System.currentTimeMillis(); Date d1 = new Date(l); System.out.println("d1:"+d1); 6:Calendar類(java.util)

  Calendar?類是一個抽象類,它為特定瞬間與一組諸如?YEAR、MONTH、DAY_OF_MONTH、HOUR?等 日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。?Calendar rightNow = Calendar.getInstance();

兩個練習:   1,獲取任意年的二月有多少天。     思路:根據(jù)指定年設置一個時間就是?       c.set(year,2,1)//某一年的3月1日。       c.add(Calenar.DAY_OF_MONTH,—1);//3月1日,往前推一天,就是2月最后一天。   2,獲取昨天的現(xiàn)在這個時刻。     c.add(Calenar.DAY_OF_MONTH,—1); import java.util.*; class ?Calendar{ public static void main(String[] args)?{ Calendar c = Calendar.getInstance(); c.set(1980,2,1);???//?1980年的3月1日 c.add(Calendar.DAY_OF_MONTH,—1);//減一是1980年2月的最后一天 printCalendar(c); } public static void printCalendar(Calendar c){  //月份編碼表 String[] mons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};  //星期編碼表 String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; int index = c.get(Calendar.MONTH); int index1 = c.get(Calendar.DAY_OF_WEEK);  //獲取年 sop(c.get(Calendar.YEAR)+"年"); //查表法獲取月 sop(mons[index]); //sop((c.get(Calendar.MONTH)+1)+"月");     //獲取日 sop(c.get(Calendar.DAY_OF_MONTH)+"日"); //查表法獲取星期 sop(weeks[index1]); //sop("星期"+c.get(Calendar.DAY_OF_WEEK)); } public static void sop(Object obj){ System.out.println(obj); } } 7:Math類?(java.lang包) Math?類包含用于執(zhí)行基本數(shù)學運算的方法,如初等指數(shù)、對數(shù)、平方根和三角函數(shù)。 UnsupportedOperationException不支持的操作異常 ClassCastException類轉(zhuǎn)換異常 ConcurrentModificationException并發(fā)修改異常 例: 獲取該字符串中的字母出現(xiàn)的次數(shù)。 希望打印結(jié)果:a(1)c(2).....   通過結(jié)果發(fā)現(xiàn),每一個字母都有對應的次數(shù)。說明字母和次數(shù)之間都有映射關(guān)系。當發(fā)現(xiàn)有映射關(guān)系時,可以選擇map集合。因為map集合中存放就是映射關(guān)系。 思路:   1,將字符串轉(zhuǎn)換成字符數(shù)組。因為要對每一個字母進行操作。   2,定義一個map集合,因為打印結(jié)果的字母有順序,所以使用treemap集合。    3,遍歷字符數(shù)組。將每一個字母作為鍵去查map集合。如果返回null,將該字母和1存入到map集合中。如果返回不是null,說明該字母在map 集合已經(jīng)存在并有對應次數(shù)。那么就獲取該次數(shù)并進行自增。,然后將該字母和自增后的次數(shù)存入到map集合中,覆蓋調(diào)用原理鍵所對應的值。   4,將map集合中的數(shù)據(jù)變成指定的字符串形式返回。 import?java.util.*; class??Map{   public static void?main(String[] args)?{     String?s= charCount("ak+abAf1c,dCkaAbc—defa");     System.out.println(s);   }   public static?String?charCount(String?str){ //字符串變成數(shù)組 char[] chs = str.toCharArray();  //定義集合 TreeMap<Character,Integer> tm =?new?TreeMap<Character,Integer>();     int?count = 0;  //遍歷字符串 for?(?int?x = 0; x<chs.length; ?x++){  //判斷是不是字母 if ?( ?!(chs[x]>='a' ?&& ?chs[x]<='z' ? || ?chs[x]>='A' ?&& ?chs[x]<='Z'))       continue; //字母chs[x]作為鍵找集合返回Integer Integer?value = tm.get(chs[x]);       if?( value! =?null?)       count = value;       count++;       tm.put(chs[x],count);//直接往集合中存儲字符和數(shù)字,為什么可以,因為自動裝箱  count = 0; /*if(value==null){         tm.put(chs[x],1);       }       else{         value = value + 1;         tm.put(chs[x],value);       }*/ }   //打印對應關(guān)系 StringBuilder?sb =?new?StringBuilder();   Set<Map.Entry<Character,Integer>> entrySet = tm.entrySet();   Iterator<Map.Entry<Character,Integer>> ?it = entrySet.iterator();   while?( it.hasNext() ){     Map.Entry<Character,Integer> me = it.next();     Character ch = me.getKey();     Integer?value = me.getValue();     sb.append ( ch+?"("?+ value +?")"?);   }   return ?sb.toString();  } } ?/*
每一個學生都有對應的歸屬地。
學生Student,地址String。
學生屬性:姓名,年齡。
注意:姓名和年齡相同的視為同一個學生。
保證學生的唯一性。
1,描述學生。
2,定義map容器。將學生作為鍵,地址作為值。存入。
3,獲取map集合中的元素。
*/
import java.util.*;
class Student implements Comparable<Student>{
?? ?private String name;
?? ?private int age;
?? ?Student(String name,int age){
?? ??? ?this.name = name;
?? ??? ?this.age = age;
?? ?}
?? ?public int compareTo(Student s){
?? ??? ?int num = new Integer(this.age).compareTo(new Integer(s.age));

?? ??? ?if(num==0)
?? ??? ??? ?return this.name.compareTo(s.name);
?? ??? ?return num;
?? ?}
?? ?public int hashCode(){
?? ??? ?return name.hashCode()+age*34;
?? ?}
?? ?public boolean equals(Object obj){
?? ??? ?if(!(obj instanceof Student))
?? ??? ??? ?throw new ClassCastException("類型不匹配");
?? ??? ?Student s = (Student)obj;
?? ??? ?return this.name.equals(s.name) && this.age==s.age;
?? ?}
?? ?public String getName(){
?? ??? ?return name;
?? ?}
?? ?public int getAge(){
?? ??? ?return age;
?? ?}
?? ?public String toString(){
?? ??? ?return name+":"+age;
?? ?}
}
class? MapTest{
?? ?public static void main(String[] args) {
?? ??? ?HashMap<Student,String> hm = new HashMap<Student,String>();
?? ??? ?hm.put(new Student("lisi1",21),"beijing");
?? ??? ?hm.put(new Student("lisi1",21),"tianjin");
?? ??? ?hm.put(new Student("lisi2",22),"shanghai");
?? ??? ?hm.put(new Student("lisi3",23),"nanjing");
?? ??? ?hm.put(new Student("lisi4",24),"wuhan");
?? ??? ?//第一種取出方式 keySet
?? ??? ?Set<Student> keySet = hm.keySet();
?? ??? ?Iterator<Student> it = keySet.iterator();
?? ??? ?while(it.hasNext()){
?? ??? ??? ?Student stu = it.next();
?? ??? ??? ?String addr = hm.get(stu);
?? ??? ??? ?System.out.println(stu+".."+addr);
?? ??? ?}
?? ??? ?//第二種取出方式 entrySet
?? ??? ?Set<Map.Entry<Student,String>> entrySet = hm.entrySet();
?? ??? ?Iterator<Map.Entry<Student,String>> iter = entrySet.iterator();?? ?
?? ??? ?while(iter.hasNext()){
?? ??? ??? ?Map.Entry<Student,String> me = iter.next();
?? ??? ??? ?Student stu = me.getKey();
?? ??? ??? ?String addr = me.getValue();
?? ??? ??? ?System.out.println(stu+"........."+addr);
?? ??? ?}
?? ?}
}

——————————?ASP.Net+Android+IOS開發(fā)、.Net培訓、期待與您交流!——————————

?詳細請查看:http://edu.csdn.net?

轉(zhuǎn)載于:https://www.cnblogs.com/In-order-to-tomorrow/p/3528532.html

總結(jié)

以上是生活随笔為你收集整理的黑马程序员_java基础笔记(06)...集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

天堂在线一区 | 国偷自产视频一区二区久 | 久久好看| 欧美一二三专区 | 成人在线网站观看 | 日韩性色| 亚州精品视频 | 色视频网站在线观看一=区 a视频免费在线观看 | 91在线中文 | 久久毛片视频 | 91精品免费在线观看 | 欧美一二区视频 | 国产一级三级 | 亚洲免费成人av电影 | 99日精品| 久久不色| 国产一区高清在线 | 精品一区二区三区四区在线 | 在线免费观看不卡av | 国产福利精品视频 | 中文字幕亚洲欧美日韩2019 | 色综合色综合久久综合频道88 | av手机在线播放 | 国产99久久久国产精品免费看 | 三级在线视频播放 | 午夜在线观看影院 | 久久桃花网 | 中文一区二区三区在线观看 | 日韩欧美精品在线观看视频 | 婷婷伊人五月天 | 国产精品18久久久久久vr | 激情视频在线高清看 | 日本黄色大片免费看 | 特黄一级毛片 | 女人18片毛片90分钟 | 国产午夜一级毛片 | 国产免费又爽又刺激在线观看 | 亚洲最大av在线播放 | 天堂va在线高清一区 | 97国产精品久久 | 欧洲激情在线 | 狠狠88综合久久久久综合网 | 国产尤物在线观看 | 久久亚洲免费视频 | 91精品在线播放 | 黄色成人av在线 | 日韩精品视频网站 | 免费成人在线电影 | 国产一级片播放 | 天天综合五月天 | 97精品国自产拍在线观看 | 日韩欧美在线观看一区 | 91九色在线 | 国产精品完整版 | 国产成人一区二区啪在线观看 | 色a综合 | 天天综合在线观看 | 人人玩人人爽 | 国产精品美女久久久久久久 | 天天翘av| www.香蕉视频在线观看 | 国产精品视频永久免费播放 | 日批视频 | 激情综合狠狠 | 月丁香婷婷 | 日日成人网 | 亚洲天堂自拍视频 | 在线观看免费成人av | 草久久精品 | 91麻豆精品一区二区三区 | 欧美日韩国产二区 | 日本少妇高清做爰视频 | 久久久久久久久久久久电影 | 国产成人精品一区二 | 色视频网站在线 | 精品在线观看一区二区三区 | 国产精品黑丝在线观看 | 欧美日韩激情网 | 水蜜桃亚洲一二三四在线 | 一区二区三区韩国免费中文网站 | 久久免费视频在线 | 国产精品久久 | 日日综合 | 免费性网站| 欧美日韩在线精品 | 国产精品久久久影视 | 超碰在97 | 射久久久| 久久视频在线观看免费 | 欧美性成人 | 国产精品手机视频 | 日韩欧美高清一区二区三区 | 久久精品亚洲精品国产欧美 | 在线观看亚洲成人 | 久久99精品一区二区三区三区 | 黄av在线 | 99热这里只有精品8 久久综合毛片 | 99免费在线观看 | 国产精品精品久久久久久 | 国产91区 | 在线观看黄色大片 | 欧美日韩国产一区二区三区 | 欧美日韩久久久 | 黄色在线看网站 | 激情综合色综合久久 | 在线亚洲天堂网 | 丁香5月婷婷久久 | 亚洲天天摸日日摸天天欢 | 成人资源站 | 欧美在线一级片 | 日韩欧美xxxx| 日韩最新理论电影 | 黄色精品免费 | 韩国一区二区av | 天天爽天天摸 | 久久精品一级片 | 99精品偷拍视频一区二区三区 | 亚洲动漫在线观看 | 欧美巨大 | 美女激情影院 | 亚洲天天草 | 国内视频在线 | 午夜av影院 | 日韩av高潮 | 亚洲va综合va国产va中文 | 日韩av黄| 国产精品大片免费观看 | 一级电影免费在线观看 | 97精品国产 | 中文字幕av全部资源www中文字幕在线观看 | 在线免费精品视频 | 色激情在线 | 在线免费色 | 国产一级视屏 | 国产麻豆精品一区 | 国产不卡片 | 成人午夜电影网站 | 男女免费视频观看 | 一区二区电影在线观看 | 亚洲麻豆精品 | 手机看片国产日韩 | 亚洲视频免费视频 | 中文字幕在线视频国产 | 亚洲一区日韩 | 亚洲精品视频在线免费 | 久久久久久久久综合 | 国产中文a | 国产91精品高清一区二区三区 | 久久久久这里只有精品 | 天堂在线视频免费观看 | 97av在线视频免费播放 | 97在线观看视频国产 | 在线观看aa| 日韩av网页| 精品福利在线视频 | 日韩视频一区二区 | 91av免费在线观看 | 中文字幕麻豆 | 日本在线免费看 | 成年人在线观看视频免费 | 午夜丰满寂寞少妇精品 | 五月天综合网站 | 久草视频首页 | 欧美精品一区二区蜜臀亚洲 | 九九视频这里只有精品 | 精品视频免费久久久看 | 国产精品久久二区 | 伊人午夜| 久久免费看视频 | 在线观看精品黄av片免费 | 国产福利精品在线观看 | 久久全国免费视频 | 国产护士hd高朝护士1 | a在线观看免费视频 | 亚洲情影院 | 亚洲国产合集 | 久久老司机精品视频 | 996久久国产精品线观看 | av三级av | av一级在线 | 六月丁香社区 | 午夜影视剧场 | 五月激情六月丁香 | 亚洲aⅴ在线观看 | 国产91全国探花系列在线播放 | 国产一区二区中文字幕 | www色com| 97碰在线 | 中文字幕二区 | 在线观看黄网站 | 最新色视频 | 欧美孕妇与黑人孕交 | 免费美女av| 亚洲日本va中文字幕 | 人交video另类hd | 伊人永久 | 日日操天天操夜夜操 | 91精品视频一区二区三区 | 日日夜夜天天人人 | 国产精品精品久久久久久 | 国产精品久久久久久久妇 | 在线观看免费一区 | 久久久久99精品成人片三人毛片 | 精品999在线观看 | 亚洲一级久久 | 免费视频三区 | 日韩理论电影在线观看 | 99久久精品国产观看 | 亚洲伦理电影在线 | 中文字幕 在线看 | av色综合网| 99久久精品国产一区二区三区 | 日韩精品偷拍 | 欧美另类高潮 | 99视频在线免费播放 | 视频在线观看亚洲 | 黄色官网在线观看 | 久久久久国产精品一区二区 | www.黄色在线 | 亚洲一区久久 | 毛片网在线观看 | 91大神视频网站 | 热久久视久久精品18亚洲精品 | 在线看国产 | 国产不卡精品 | 黄色小说免费在线观看 | 亚洲日本va午夜在线影院 | 日韩欧美aaa | 中文字幕在线播出 | 91视频午夜| 最新中文字幕在线播放 | 激情欧美丁香 | 国产精品视频地址 | 91亚色视频在线观看 | 美女免费网站 | 国产成人精品不卡 | www.99av| 在线视频日韩 | 91传媒视频在线观看 | 操操操日日 | 九九热只有精品 | 精品电影一区二区 | 久久免费视频5 | 国产精品久久久久aaaa九色 | 精品一区二区免费视频 | 国产免费影院 | 精品av网站 | 欧美日韩一区二区三区在线免费观看 | 久久精品美女视频 | 最近日本韩国中文字幕 | 中文字幕一区三区 | 免费观看性生交 | 中文字幕一区二区三区乱码不卡 | 日日干夜夜骑 | 国产精品大全 | 中文字幕一区二区三区视频 | 在线免费视频一区 | 久久人人爽人人爽人人片 | 天天天干夜夜夜操 | 成人国产电影在线观看 | 国产免费精彩视频 | 国产日韩精品一区二区三区在线 | 97国产在线视频 | 中文字幕在线观看免费 | 一级做a爱片性色毛片www | 9在线观看免费高清完整版 玖玖爱免费视频 | 国产91综合一区在线观看 | 国内精品久久久久久久久久 | 三级黄色a | 日韩欧美一区二区三区视频 | 精品免费一区二区三区 | 国产淫片免费看 | 91精品蜜桃 | 国产成人精品国内自产拍免费看 | 中文字幕丝袜制服 | 欧美日韩观看 | 成人免费中文字幕 | 中文字幕一区二区三区在线播放 | 日韩电影一区二区三区在线观看 | 国产成人精品一区二区在线观看 | 国产在线一区二区 | 日韩精品视频免费看 | 亚洲人精品午夜 | 888av| www.久久久| 日韩一二三在线 | 日韩av免费观看网站 | 国产精品第52页 | 91视频-88av| 日本特黄特色aaa大片免费 | 超碰在线94| 国产精品久久久久四虎 | 91精品久久久久久久99蜜桃 | 天天爽综合网 | 国产精品中文字幕在线 | 97碰在线 | 久久久久国产一区二区 | 国产在线更新 | 日韩中文字幕免费看 | 国产中文字幕一区 | 欧美精品久久久久久久久免 | 一区二区三区播放 | 国产精品永久免费 | 亚洲精选视频在线 | 91完整版观看 | 日韩精品一区二区三区视频播放 | 亚洲欧美色婷婷 | 午夜精品福利一区二区 | 一区二区三区四区五区在线 | av免费电影在线 | 草久久精品| 奇米影视四色8888 | 国产三级视频 | 亚洲欧洲一级 | 欧美网站黄色 | 九色激情网 | 免费视频你懂得 | 中文字幕在线播放日韩 | 久久久久国产成人精品亚洲午夜 | 亚洲丝袜一区二区 | 182午夜在线观看 | 欧美一区成人 | 97成人资源站 | 欧美亚洲国产日韩 | 91在线91 | 人成电影网 | 日韩理论电影在线 | 久草视频免费在线播放 | 免费日韩在线 | 久久综合狠狠综合久久激情 | 在线影视 一区 二区 三区 | 伊人久久电影网 | 狠狠干2018| 欧美一区二区三区激情视频 | 日韩免费一区二区 | 波多野结衣电影久久 | 精品久久久久久国产 | 亚洲欧洲精品一区二区 | 免费中午字幕无吗 | 欧美三级在线播放 | 黄色软件视频网站 | 色99色| 99久久久久国产精品免费 | 天天爽天天摸 | www激情com| 成年人视频在线观看免费 | 99久久99热这里只有精品 | 欧美精品一区二区性色 | 国内精品久久天天躁人人爽 | 成人在线一区二区三区 | 国产女人18毛片水真多18精品 | 国产精品麻豆一区二区三区 | 最近久乱中文字幕 | 91精品国产自产91精品 | 99这里精品 | 91精品国产麻豆国产自产影视 | 欧美孕妇与黑人孕交 | 狠狠操夜夜操 | 国产精品美女久久久久久久 | 精品久久网 | 成人国产精品久久久春色 | 国产一二三区av | 亚洲欧洲日韩在线观看 | 香蕉视频在线免费看 | 成人av一区二区兰花在线播放 | 久久久久国产精品免费网站 | 超碰人人国产 | 黄色a一级视频 | 日日激情 | 9999激情| 麻豆视频观看 | 色多多在线观看 | 亚洲色图激情文学 | 亚洲欧美在线综合 | 欧美精品乱码久久久久 | 久久久久久久免费观看 | 国产清纯在线 | 超碰97.com | 99久久99久久免费精品蜜臀 | 天天射天天干天天 | 国产精品久久久久av | 丁香视频在线观看 | 国产五十路毛片 | 日韩欧美在线综合网 | 欧美日bb| 在线看av的网址 | 久久99在线 | 日韩av一区二区在线播放 | 国产xx视频 | 97久久久免费福利网址 | 国产精品片 | 久久精品日产第一区二区三区乱码 | 亚洲精品午夜一区人人爽 | 日日夜夜天天久久 | 久久亚洲精品国产亚洲老地址 | 精品一区精品二区高清 | 亚洲一区二区三区在线看 | 国产麻豆精品久久一二三 | 日本性动态图 | 亚洲欧洲精品一区二区 | 日本精品在线视频 | 五月天激情综合 | 免费看的毛片 | www.看片网站 | 伊人久久婷婷 | 色干干 | 久久精品视频一 | 久久精品中文字幕一区二区三区 | 91精品夜夜 | 91精品国产91久久久久 | 91中文字幕视频 | 亚洲精品久久久久中文字幕二区 | 日韩精品中文字幕有码 | 99热这里精品 | 国产精品美女 | 国产裸体永久免费视频网站 | 午夜av大片 | 一区二区三区免费 | 成人影片在线免费观看 | 欧美久久久久 | 久久精品爱爱视频 | 在线免费中文字幕 | 人人澡人人澡人人 | 激情xxxx | 伊人影院在线观看 | caobi视频 | 97超碰福利久久精品 | 五月天六月婷婷 | 久久艹在线观看 | 开心色停停 | 午夜精品久久久久久 | 91麻豆免费视频 | 国产一区视频在线播放 | 日韩在线视频网址 | 午夜婷婷在线观看 | 日日干网 | 黄色在线视频网址 | 91爱爱中文字幕 | 婷婷av网站 | 91精品国产综合久久婷婷香蕉 | 国产女做a爱免费视频 | 亚洲三级毛片 | 日韩精品在线视频 | 久久精品专区 | 国产精品亚洲成人 | 日本韩国欧美在线观看 | 欧美一区二区三区激情视频 | 日韩欧美在线第一页 | 欧美精品亚州精品 | 欧美 激情 国产 91 在线 | 国产精品毛片网 | 中文字幕丝袜一区二区 | 精品久久久免费 | 日韩精品免费一区二区三区 | 久久久国产精品成人免费 | 日韩av高清在线观看 | 国产精品一区二区麻豆 | 成人国产精品免费 | 看片网站黄色 | 久久综合九色九九 | 久久不射电影网 | 免费观看一区二区三区视频 | 99爱这里只有精品 | 欧美性生交大片免网 | 亚洲影音先锋 | 午夜免费电影院 | 精品一区二区三区四区在线 | 网址你懂的在线观看 | 欧美精品一区二区在线观看 | 国产婷婷精品 | 国产精品一区二区三区四区在线观看 | 国产又粗又猛又色 | 91理论片午午伦夜理片久久 | 国产免费午夜 | 免费看一及片 | 久艹在线观看视频 | 久久精品之 | 精品在线观看一区二区三区 | 亚洲视频分类 | 黄色av网站在线观看免费 | 免费日韩电影 | 久久艹综合 | 美女国产 | 欧美二区三区91 | 夜夜夜夜操 | 国内久久久久 | 婷婷丁香激情综合 | 婷婷在线不卡 | 免费看片成年人 | 亚洲成人精品久久久 | 91最新网址 | 天无日天天操天天干 | 99久久精品国产毛片 | 免费看片网址 | 色多多视频在线 | 黄色av免费在线 | 久久99精品国产麻豆宅宅 | 色综合久久精品 | 色网站免费在线观看 | 黄p网站在线观看 | 国产日本在线观看 | 久久久国产毛片 | 91成品视频| 国产精品高潮呻吟久久av无 | 成人午夜在线电影 | 亚洲精品资源在线观看 | 深爱激情五月网 | 午夜精品一区二区三区四区 | 中文字幕免费播放 | 91免费在线看片 | 久久欧洲视频 | 日p视频在线观看 | 色婷婷狠狠五月综合天色拍 | 五月天激情综合网 | 免费一级片在线观看 | 国产色拍 | 日韩视频在线观看免费 | 黄色网大全 | 国产成人av一区二区三区在线观看 | av看片网址| 亚洲精品免费看 | 久久精品一区二区三区国产主播 | 在线观看一| 探花视频在线观看+在线播放 | 婷婷激情欧美 | 精品视频在线看 | 亚洲码国产日韩欧美高潮在线播放 | 国产精品中文久久久久久久 | 一区二区视频免费在线观看 | 免费观看一级特黄欧美大片 | 久久综合色8888 | 国产精品久久久久久久久久东京 | 成人高清在线 | 在线观看中文 | 99精品视频免费看 | 四虎影视成人精品 | 一区免费视频 | 久久高清片 | 日韩欧美国产激情在线播放 | 九月婷婷综合网 | 国产小视频在线看 | 国产视频 亚洲精品 | 久草在线综合 | 久久久国产一区二区三区四区小说 | 日韩成人免费观看 | 久久久精品免费观看 | 91天堂素人约啪 | 中文字幕一区二区在线观看 | 人人揉人人揉人人揉人人揉97 | 特级黄录像视频 | 在线观看视频精品 | 中午字幕在线 | 国产一区二区精品久久91 | 日日夜夜骑 | 国产小视频91| 国内免费久久久久久久久久久 | 91高清免费观看 | 久久草视频 | 欧美日韩在线网站 | av免费在线观看网站 | 久久九九网站 | www.日韩免费 | 久久久国产99久久国产一 | 久久精品一区二区三区中文字幕 | 欧美亚洲国产精品久久高清浪潮 | 91粉色视频 | 六月丁香激情综合色啪小说 | 久久免费视频1 | 国产视频午夜 | 亚洲精品视频网 | 日本中文字幕系列 | 成 人 黄 色 视频免费播放 | 亚洲精品18日本一区app | 国产精品午夜久久 | 免费观看黄色av | 国产欧美精品在线观看 | 国产中年夫妇高潮精品视频 | 成人黄色大片网站 | 92中文资源在线 | 欧美日韩在线观看一区二区三区 | 欧美一级电影免费观看 | 国产亚洲人成网站在线观看 | 在线看不卡av | 成人午夜电影久久影院 | 在线一二三四区 | 国产91全国探花系列在线播放 | 日韩免费大片 | 日韩精品中文字幕在线不卡尤物 | 欧美少妇18p | 国产主播大尺度精品福利免费 | 亚洲男男gaygay无套同网址 | 日韩av五月天 | 超碰97国产在线 | 精品免费观看 | 永久免费精品视频 | 97精品国自产拍在线观看 | 亚洲精选视频在线 | 精品xxx | 91视频在线免费看 | 不卡的av在线播放 | 麻豆果冻剧传媒在线播放 | 亚洲综合在线播放 | 久久国产a | 亚洲视频精选 | 久久午夜影院 | 久久深夜 | 精品久久影院 | 国产精彩在线视频 | 日本激情中文字幕 | 欧美成人高清 | 亚洲一区欧美激情 | 高潮久久久久久久久 | 亚洲一区二区黄色 | 欧美ⅹxxxxxx | 一区精品久久 | 欧美日韩在线播放一区 | 91精品999| 中文字幕国内精品 | 精品99在线| 亚洲精品男女 | 国产不卡一 | 一区二区视频在线播放 | 久久久久免费网 | jizzjizzjizz亚洲 | 成年人免费在线看 | 亚洲成aⅴ人片久久青草影院 | 婷婷六月色| 99热最新地址 | 激情综合色图 | 日韩av影片在线观看 | 日韩大片在线免费观看 | 国产精品成人一区二区三区吃奶 | 99久久精品国产亚洲 | 午夜精品999| 在线免费观看视频 | 在线观看成人小视频 | 人人爽人人做 | 日日夜夜精品视频天天综合网 | 欧美日韩伦理在线 | 国产婷婷一区二区 | 国产精品久久久久久久久久久久久 | 国产精品扒开做爽爽的视频 | 91亚洲精| 国产欧美日韩视频 | 特级西西444www高清大视频 | 国产亚洲成av片在线观看 | 国产精品videossex国产高清 | 日日精品 | 亚洲精品国产精品久久99热 | 日韩成人免费在线 | 少妇高潮流白浆在线观看 | 国产中文字幕三区 | 成人精品视频 | 日三级在线 | 精品国产一区二区在线 | 麻豆精品视频在线观看免费 | 免费污片 | 91精品视频在线看 | 国产精品一区二区三区免费看 | 黄色福利网 | 久久久久久久久久伊人 | 成人97视频一区二区 | 成人免费一区二区三区在线观看 | .精品久久久麻豆国产精品 亚洲va欧美 | 手机版av在线 | 九九久久精品视频 | 激情丁香综合五月 | 在线 高清 中文字幕 | 啪啪肉肉污av国网站 | 色综合久久久久 | 亚洲免费在线看 | 中文字幕成人一区 | 亚洲国产精品免费 | 亚洲婷婷综合色高清在线 | 国产在线高清视频 | 人人舔人人爽 | 久久国产精品偷 | 天天翘av| 美女免费网站 | 九色精品免费永久在线 | 中文字幕在线日本 | 国产精品系列在线播放 | 精品主播网红福利资源观看 | 日日射av | 国产精品密入口果冻 | 一区二区观看 | 亚洲国产欧美在线人成大黄瓜 | 天天操网| 精品免费在线视频 | 亚洲人久久久 | 欧美日本国产在线观看 | 亚洲国产精品一区二区久久,亚洲午夜 | 狠狠艹夜夜干 | av永久网址 | 亚洲综合情 | 午夜精品视频在线 | 狠狠操天天干 | 最新午夜| 婷婷日日 | 日韩欧美视频在线 | 欧美色图亚洲图片 | 国产成人精品综合久久久久99 | 成人在线观看免费视频 | 久久国产精品色婷婷 | 国产成人精品亚洲日本在线观看 | 制服丝袜天堂 | 天天射天天艹 | 久久视频免费 | 国产97视频 | 国产伦精品一区二区三区四区视频 | 亚洲精品乱码久久久久久蜜桃动漫 | 69xx视频 | 九九国产视频 | 久久在线免费观看 | 成人黄色av免费在线观看 | 亚洲精品免费在线观看视频 | 观看免费av| 蜜臀久久99精品久久久无需会员 | 国产成人专区 | 色网av| 四虎成人精品在永久免费 | 青青河边草观看完整版高清 | 四虎在线观看精品视频 | 激情五月色播五月 | 在线免费视频 你懂得 | a视频在线看 | 国产91av视频在线观看 | 国产精品18久久久 | 五月综合网 | 日韩三级视频在线观看 | 久久久久免费精品国产 | 搡bbbb搡bbb视频 | 99人久久精品视频最新地址 | 精品国产乱码一区二 | 久艹在线播放 | 免费在线成人 | 五月在线视频 | 在线之家免费在线观看电影 | 婷婷激情五月 | av电影一区二区 | 在线观看亚洲电影 | 插插插色综合 | 中文字幕在线第一页 | 国产成人精品一区二三区 | 91在线精品视频 | 中文字幕视频播放 | 五月婷婷六月丁香 | 国产精品爽爽爽 | 欧美久久影院 | 成人久久精品视频 | 亚洲一级国产 | 91成品视频 | 三级黄色片在线观看 | 超碰97久久 | 日韩网| 亚洲精品啊啊啊 | 五月婷婷在线视频 | 99精品视频免费全部在线 | 日韩电影在线观看一区二区三区 | 2023年中文无字幕文字 | 国产四虎影院 | 久草线 | 亚洲精品男人天堂 | 国产精品永久久久久久久www | 欧美另类巨大 | 521色香蕉网站在线观看 | 免费成人黄色片 | 69视频在线播放 | 中文字幕色在线视频 | 国产精品一区一区三区 | 97视频在线观看免费 | 在线视频app | 国产黄色理论片 | 亚洲天堂网在线视频观看 | 久久 一区 | 色视频在线观看免费 | 国产午夜精品一区二区三区在线观看 | 日韩av片免费在线观看 | 999久久国精品免费观看网站 | 在线观看久草 | 国产精品久久久久久a | 精品在线不卡 | 国产成人福利在线 | av日韩国产 | 成人免费av电影 | 国产高清视频在线 | 色综合久久88色综合天天 | 狠狠色丁香婷婷综合久小说久 | 少妇精69xxtheporn| 欧美日韩久久一区 | 不卡的av | 黄色毛片视频免费 | 在线成人性视频 | 国产精品一区在线观看 | 久久首页 | 天天透天天插 | 欧美久草视频 | 69久久夜色精品国产69 | 最近免费中文字幕大全高清10 | 天天爱天天操天天爽 | 国产免费观看久久黄 | av资源免费在线观看 | 亚洲精品免费在线视频 | 亚洲最新视频在线 | 在线观看视频黄色 | 黄色国产区 | 精品91在线 | 色丁香婷婷 | 亚洲国产精品va在线 | 一区二区三区日韩在线 | 中文字幕在线观看第三页 | 最近免费中文视频 | 91人人爽人人爽人人精88v | 免费网站在线 | 精品视频免费播放 | 国产精品精 | 97成人精品视频在线观看 | 欧美狠狠操 | 麻豆国产精品永久免费视频 | 天天亚洲 | 久久亚洲综合国产精品99麻豆的功能介绍 | 午夜精品一区二区三区四区 | 国产 一区二区三区 在线 | av一区二区三区在线 | 精产嫩模国品一二三区 | 国产视频一区二区在线播放 | av青草| 免费观看91视频 | 国产成人av综合色 | 色综合天天天天做夜夜夜夜做 | 91成人亚洲 | 少妇精69xxtheporn | 九九热免费视频在线观看 | 国产色视频网站 | av一二三区| 毛片www| 一区二区三区日韩在线观看 | 日韩黄色软件 | 日日夜夜狠狠 | 日韩免费一区二区 | 最新日韩视频 | 一区二区三区在线影院 | 夜夜夜夜操 | 欧美一区免费在线观看 | 在线观看国产v片 | 91热这里只有精品 | 亚洲精品五月 | 国产手机视频在线观看 | 18女毛片 | 日韩免费一区 | 国产精品成人自产拍在线观看 | 免费h精品视频在线播放 | 中文永久免费观看 | 亚洲精品乱码久久久久久高潮 | 国产精彩视频一区 | 婷婷中文字幕在线观看 | 麻豆av电影 | 亚洲激精日韩激精欧美精品 | 中文字幕丝袜美腿 | 婷婷在线免费观看 | 中文日韩在线 | 欧美精品国产综合久久 | 亚洲欧美日韩中文在线 | 天天草av| 亚洲高清视频在线观看免费 | 黄色成人影院 | 9在线观看免费高清完整版 玖玖爱免费视频 | 在线观看午夜 | 国产精品18videosex性欧美 | 日韩欧美在线一区 | 免费观看成年人视频 | 五月开心网 | 日本中文字幕系列 | 免费人人干 | 最新国产精品久久精品 | 免费观看久久久 | 韩国av在线播放 | 在线观看日本高清mv视频 | 97精品国自产拍在线观看 | 国产v视频 | 久久精品亚洲精品国产欧美 | 天天天色综合a | 91chinese在线| 亚洲3级 | 亚洲精品在线观看视频 | 婷婷激情五月综合 | 国产午夜精品久久久久久久久久 | 国产xxxx性hd极品 | 久久久久亚洲精品国产 | 色噜噜噜噜 | av网站手机在线观看 | 国产馆在线播放 | 91中文字幕在线视频 | 在线免费观看国产精品 | 成人app在线免费观看 | 久草www| 欧美色精品天天在线观看视频 | 91看成人| 国产香蕉97碰碰碰视频在线观看 | 人人澡人人模 | 欧美日韩国产精品一区 | 成人手机在线视频 | 插婷婷 | 91爱爱免费观看 | 日韩在线不卡视频 | 天天操天天操天天操天天操天天操天天操 | 网站免费黄 | 高潮毛片无遮挡高清免费 | 天天综合网在线观看 | 国产极品尤物在线 | 欧美日韩高清免费 | 欧美久久久久久久 | 成人午夜精品久久久久久久3d | 在线视频一区二区 | 国产免费中文字幕 | 久久久免费网站 | 日韩精品一区二区三区高清免费 | adn—256中文在线观看 | 久草网视频在线观看 | 久久久久黄色 | 日本丰满少妇免费一区 | 亚洲日韩精品欧美一区二区 | 国产麻豆精品传媒av国产下载 | 在线黄频| 五月天天天操 | 中文在线www | 精品视频一区在线观看 | 欧美日韩国产在线观看 | 在线观看午夜av | 久久人人爽 | www.久久色 | 免费在线成人av电影 | 中文字幕在线视频国产 | 97视频一区| 国产中文字幕在线 | 九九色网 | 国产成人免费在线观看 | 亚洲一区二区三区91 | 最近中文字幕完整高清 | 欧美成人一二区 | 国产短视频在线播放 | 久久精品视频国产 | 91精品久久香蕉国产线看观看 | 久久夜视频| 福利精品在线 | 天天躁天天狠天天透 | 久久国产美女 | 亚洲六月丁香色婷婷综合久久 | 91av成人| 精品国产123 | 日韩视频中文 | 91香蕉视频好色先生 | 国产成人精品一区二区三区福利 | 成片视频免费观看 | 中文字幕字幕中文 | 中文字幕观看视频 | 久久久国内精品 | 国产高清黄 | 久久久久久草 | 91在线看 | 精品久久久久免费极品大片 | 丰满少妇一级片 | 亚洲高清资源 | 91免费版在线 | 国产免费视频一区二区裸体 | 国产999精品久久久久久绿帽 | 欧美在线视频一区二区 | 久久久毛片 | 国产爽视频 | 成人黄色短片 | 日韩在线观看影院 | 国产亚洲欧美精品久久久久久 | 亚洲精品视频在线观看网站 | 久草在线综合 | 亚洲一区二区三区91 | 极品嫩模被强到高潮呻吟91 | 狠狠色丁香久久婷婷综 | 午夜电影中文字幕 | 久久免费视频这里只有精品 | 夜夜操狠狠干 | av成人黄色| 天天操天天舔天天爽 | 最近2019中文免费高清视频观看www99 | 国产精品一区二区 91 | 亚洲va综合va国产va中文 | 欧美日韩国产在线观看 | 国产精品免费视频网站 | 国产视频不卡一区 | 国产成人av电影在线观看 | 91网在线 | 欧美精品一区二区蜜臀亚洲 | 色综合婷婷 | 99精品视频在线播放免费 | 久久免费看毛片 | 国产日韩精品一区二区三区 | 免费一级片视频 | 91精品国产综合久久福利不卡 | 91桃色在线观看视频 |