大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Javase——集合的概述,Collection集合及其功能,集合中迭代器的原理

Javase——集合的概述,Collection集合及其功能,集合中迭代器的原理

更新時間:2019-08-30 11:51:58 來源:動力節點 瀏覽2455次

  

今天動力節點Java培訓機構小編為大家介紹“集合的概述,Collection集合及其功能,集合中迭代器的原理”希望能夠幫助到java零基礎學員,下面隨小編一起看看吧。


集合的由來


  目前的學習的語言是一種面向對象語言,面向對象語言對事物的描述通過對象(屬性,行為..)體現的,必須給對象進行操作,


  并且還要針對多個對象進行操作,(使用容器類型的變量):目前學習過的容器:數組和StringBuffer


1、數組:長度固定,不能滿足長度變化的要求


2、StringBuffer:字符串緩沖區,在內存中始終返回的是String類型,也滿足一些需求所以Java提供了一種技術:集合。



  集合和數組的區別:


  1、長度的區別


  數組長度是固定的.


  集合長度是可變的!


  2、存儲數據類型的區別


  數組既可以存儲基本數據類型,也可以存儲引用數據類型


  集合只能存儲引用數據類型


  3、存儲元素的區別


  數組存儲同一種類型的元素 舉例: 水杯中的水


  集合可以存儲多個類型的元素


  Collection 層次結構中的根接口。Collection 表示一組對象,這些對象也稱為 collection 的元素。 一些 collection 允許有重 復 的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。JDK 不提供此接口的任何直接 實現:它提供更具體的子接口(如 Set 和 List)實現。



  Collection集合中的功能


  1、添加功能:


  boolean add(Object obj):添加一個元素


  boolean addAll(Collection c):添加一個集合的元素 (給一個集合添加進另一個集合中的所有元素)


    2、刪除功能:


  void clear():移除所有元素


  boolean remove(Object o):移除一個元素


  boolean removeAll(Collection c):移除一個集合的元素(移除一個以上返回的就是true) 刪除的元素是兩個集合交


  交集元素如果沒有交集元素 則刪除失敗 返回false


  3、判斷功能:


  boolean contains(Object o):判斷集合中是否包含指定的元素


  boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素(這個集合 包含 另一個集合中所有的 元


  素才算包含才返回true)


  比如:1,2,3 containsAll 12=true 1,2,3 containsAll 2,3,4=false


  boolean isEmpty():判斷集合是否為空


  4、獲取功能:


  Iteratoriterator()(重點)


  5、長度功能:


  int size():元素的個數


     6、交集功能:


  例如:A集合對B集合取交集,獲取到的交集元素在A集合中。返回的布爾值表示的是A集合是否發生變化


  boolean retainAll(Collection c):獲取兩個集合的交集元素(交集:兩個集合都有的元素)


  把集合轉換為數組:


  Object[] toArray()


  注:方法名后面帶ALL的都是集合的高級功能;


  Collection集合基本功能的舉例:


public class CollectionDemo {

public static void main(String[] args) {

//不帶all的功能屬于Collection基本功能:

//創建集合對象

//Collection c = new Collection() ;   不能實例化的

Collection c = new ArrayList() ; //利用List接口的子實現類來實例化

System.out.println(c);//[]   集合沒有元素:[]   內部中重寫了Object的toString方法

//boolean add(Object e):添加單個元素

//System.out.println(c.add("hello"));

/**

* ArrayList的add方法的源碼

*   public boolean add(E e) {

        ensureCapacityInternal(size + 1);  // Increments modCount!!

        elementData[size++] = e;

        return true;  //只要添加元素,就返回true

    }

*/

c.add("hello") ;

c.add(100);

c.add("world") ;

c.add("java") ;

System.out.println(c);

//void clear();

//c.clear(); 

//remove(Object o)

System.out.println(c.remove("java"));

System.out.println(c);

//boolean contains(Object o):一個集合中是否包含指定的元素

System.out.println(c.contains("android")) ;

//boolean isEmpty():判斷集合是否為空. 空,就是true

System.out.println(c.isEmpty());

System.out.println(c.size());

}

}


Collection集合高級功能的舉例:



public class CollectionDemo2 {

public static void main(String[] args) {

//創建兩個集合對象

Collection c1  = new ArrayList();

Collection c2  = new ArrayList();

//分別給集合c1,c2中添加元素

c1.add("abc1") ;

c1.add("abc2") ;

c1.add("abc3") ;

c1.add("abc4") ;

//c2.add("abc1") ;

//c2.add("abc2") ;

//c2.add("abc3") ;

c2.add("abc4") ;

//c2.add("abc5") ;

//c2.add("abc6") ;

//c2.add("abc7") ;

System.out.println("c1:"+c1);

System.out.println("c2:"+c2);

System.out.println("-------------------------");

//boolean addAll(Collection c):添加一個集合中的所有元素,添加到c1中

//System.out.println("addAll():"+c1.addAll(c2));

//removeAll(Collection c):移除一個集合中的元素   

//System.out.println("removeAll():"+c1.removeAll(c2));  //刪除一個算是刪除!,刪除返回true

//boolean containsAll(Collection c):包含一個集合中的元素  

//System.out.println("containsAll():"+c1.containsAll(c2)); //包含所有算是包含

/**

* A集合對B集合取交集,交集的元素的去A集合里面了,返回的boolean表達的意思A集合中的                       

* 元素是否發生變化.如果沒有變化,false 否則,true

*/

//boolean retainAll(Collection c) 

System.out.println("retainAll():"+c1.retainAll(c2));

                System.out.println("c1:"+c1);

System.out.println("c2:"+c2);


}

}



  Collection集合迭代器的作用和原理:


  迭代器作用: 對 collection集合進行迭代的迭代器迭代。


  集合的專有遍歷方式: (迭代器)


  Iteratoriterator()


  在Iterator中有


  boolean hasNext()


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


  迭代器的使用舉例:


package westos.org.collection_demo2;

 

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

 

 

public class CollectionTest2 {

public static void main(String[] args) {

//創建集合對象

Collection  collection = new ArrayList() ;

//給集合中添加幾個字符串元素

collection.add("hello") ;

collection.add("java") ;

collection.add("world") ;

collection.add("hadoop") ;

//專有迭代的遍歷方式

//獲取迭代器

Iterator iterator = collection.iterator() ; //實現方式:底層有一個內部類

while(iterator.hasNext()) {//看有沒有下一個元素

System.out.println(iterator.next());//獲取下一個元素

                //上述方式直接輸出了,如果要獲取字符串內容的同時,獲取長度

String str = (String)iterator.next() ;

System.out.println(str+"---"+str.length());

}

}

}

 


迭代器的源碼:



public interface Iterable{

Iteratoriterator();

}

//接口

interface Iterator{

boolean hasNext() ;

Object next() ;

}

 

interface Collection{

 

}

 

interface List extends Collection{

}

 

 

class ArrayList implements List{

  public Iteratoriterator() {

        return new Itr(); //匿名對象:Itr

     }

     

     

     //內部類:Itr

      private class Itr implements Iterator{

      //判斷是否有下一個元素

         public boolean hasNext() {

            return cursor != size;

        }

       

        //獲取下一個迭代的元素

        public E next() {

       }

       

      }

}

 

以上就是動力節點java培訓機構小編分享的“集合的概述,Collection集合及其功能,集合中迭代器的原理”的內容,希望能夠幫助到各位小伙伴們,更多java最新資訊請關注動力節點java培訓機構官網,每天會有精彩內容分享與你。


相關免費視頻教程推薦


Collection集合迭代器(視頻教程下載):http://m.dabaquan.cn/xiazai/2489.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 精品一区二区视频 | 精品国产成人 | 精品一区二区三区在线观看 | 亚洲香蕉久久一区二区三区四区 | 又黄又爽又色的免费毛片 | 在线观看视频一区 | 亚洲国产一区在线精选 | 欧美美女一区二区三区 | 精品毛片视频 | 欧美成人剧情中文字幕 | 国产综合一区二区 | 色婷婷色 | 亚洲免费黄色网 | 999视频在线播放777 | 色综合综合色综合色综合 | 国产精品视频久久久久久 | 777奇米影视视频在线播放 | 中文字幕日韩精品在线 | 又黑又粗又硬欧美视频在线观看 | 天天插天天射天天操 | 久久免费精品一区二区 | 97视频精品全国在线观看 | 99热爱 | 亚洲国产成人在线观看 | 日韩在线网 | 国产欧美一区二区三区视频 | 亚洲久久网 | 国产l精品国产亚洲区久久 国产l精品国产亚洲区在线观看 | 奇米色在线视频 | 亚洲免费大片 | 久久狠狠第一麻豆婷婷天天 | 99热国产 | 亚洲国产成人久久笫一页 | 在线观看中文字幕 | 爆操波多野结衣 | 97色伦图片97色伦图影院久久 | 成人黄色在线视频 | 五月天综合久久 | 成人亚洲国产精品久久 | 日本黄色绿像 | 毛片免费视频 |