• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java中Collection的基本操作

     

     

    boolean:add(E e) 向集合中添加元素e

     

    boolean:addAll(Collection c) 把集合c中所有元素都添加到當前集合中

     

    void:clear() 清空當前集合中所有的元素

     

    boolean:contains(Object o) 在當前集合中判斷是否包含元素o

     

    boolean:containsAll(Collection c) 判斷當前集合是否包含集合c中的所有元素

     

    boolean:equals(Object o)

     

    int:hashCode()

     

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

     

    Iterator:iterator() 返回當前集合的迭代器

     

    boolean:remove(Object o) 從當前集合中刪除第一個與o匹配的元素

     

    boolean:removeAll(Collection c) 在當前集合中刪除在c集合中出現的所有元素

     

    int:size() 返回集合中元素的個數

     

    Object[]:toArray() 把集合轉換為數組

     

    T[]:toArray(T[] a)

     

    package com.wkcto.chapter05.collection;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    /**
     * 演示Collection集合的基本操作
     * @author 蛙課網
     *
     */
    public class Test01 {
    
    	public static void main(String[] args) {
    		//1)創建Collection集合, Collection是一個接口,需要賦值實現類對象
    		Collection	 collection = new ArrayList<>();
    		
    		//2) 向集合中添加元素, 默認添加Object類型數據
    		collection.add("aa");
    		collection.add("bb");
    		collection.add( 123 ); 		//如果添加基本類型,系統會自動裝箱, 把包裝類對象添加到集合中
    		collection.add( true );
    		
    		//3) 直接打印, collection引用 的是ArrayList對象, ArrayList的爺爺類AbstractCollection重寫了toString()
    		System.out.println( collection );  //[aa, bb, 123, true]
    		
    		//4)判斷
    		System.out.println( collection.isEmpty() );		//false
    		System.out.println( collection.size());			//4
    		System.out.println( collection.contains("bb"));	//true
    		
    		//5)刪除
    		collection.remove("bb");
    		System.out.println( collection );
    		
    	}
    
    }

     

    package com.wkcto.chapter05.collection;
    
    import java.util.ArrayList;
    import java.util.Collection;
    /**
     * 集合泛型與集合之間的相互操作
     * @author 蛙課網
     *
     */
    public class Test02 {
    
    	public static void main(String[] args) {
    		//在實際應用中,一個集合中一般只存儲同一類型的數據, 可以在定義集合時,通過泛型約束集合中元素的類型
    		//Collection后面的尖括弧指定集合元素的類型, 這就是泛型, 泛型就是把數據類型當作參數
    		Collection<String> collection = new ArrayList<>();
    		
    		//在添加元素時, collection集合就只能添加String類型的數據
    		collection.add("gg");
    		collection.add("jj");
    		collection.add("dd");
    		collection.add("mm");
    		//如果添加的數據不是String類型,編譯報錯, 這就是泛型的好處,可以在編譯時進行數據類型的檢查
    //		collection.add(123);  
    		
    		collection.add( "mm");
    		collection.add( "jj");
    		
    		System.out.println( collection );  		//[gg, jj, dd, mm, mm, jj]
    
    		//刪除jj, remove()只刪除第一個匹配的元素
    		collection.remove("jj");
    		System.out.println( collection );		//[gg, dd, mm, mm, jj]
    		
    		//創建第二個集合
    		Collection<String> collection22 = new ArrayList<>();
    		collection22.addAll(collection);  //把collection中 的所有元素添加到當前集合中
    		System.out.println( collection22 );
    		collection22.remove("mm");
    		System.out.println( collection22 );   //[gg, dd, mm, jj]
    		//判斷collection集合中是否包含collection22集合中所有的元素
    		System.out.println( collection.containsAll(collection22));  	//true
    		//判斷collection22集合中是否包含collection集合中所有的元素
    		System.out.println( collection22.containsAll(collection));		//true
    		//在colllection中刪除在collection22集合中出現的元素
    		collection.removeAll(collection22);
    		System.out.println( collection );  		//[]
    	}
    
    }

     

    package com.wkcto.chapter05.collection;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    /**
     * 集合的迭代器
     * @author 蛙課網
     *
     */
    public class Test03 {
    
    	public static void main(String[] args) {
    		//1)創建一個存儲String字符串的Collection集合
    		Collection<String> collection = new ArrayList<>();
    		
    		//2) 添加元素
    		collection.add("gg");
    		collection.add("jj");
    		collection.add("dd");
    		collection.add("jj");
    		collection.add("dd");
    		collection.add("jj");
    		//3)直接打印
    		System.out.println( collection );   	//[gg, jj, dd, jj, dd, jj]
    		
    		//4) 遍歷集合中的元素
    		for (String str : collection) {
    			//把collection集合中的每個 元素賦值給局部變量str
    			System.out.println( str );
    		}
    		
    		//5)把所有的dd刪除
    //		collection.remove("dd") ;  		//刪除第一個匹配的元素
    //		collection.removeAll(c); 		//刪除出現在c集合中的所有元素, 依次判斷當前集合中每個 元素是否在c集合中,如果存在就刪除
    		
    		//foreach循環僅用于遍歷
    	/*	for (String string : collection) {
    			if ("dd".equals(string)) {
    				collection.remove("dd");
    			}
    		}*/
    		
    		//6) 迭代器遍歷
    		//6.1 獲得迭代器對象
    		Iterator<String> iterator = collection.iterator();
    		/*
    		 * iterator.hasNext()用于判斷是否還有下個元素沒訪問
    		 * iterator.next()返回下個元素, 游標下移
    		 * 剛剛獲得迭代器時, 迭代器的游標指向第一個元素的前面
    		 */
    		//6.2迭代遍歷
    		while( iterator.hasNext() ){
    			String str = iterator.next();
    			System.out.print( str + "\t");
    		}
    		System.out.println();
    		//循環完成后, iterator游標已經指向最后一個元素的后面, 如果還想要使用iterator迭代器,需要重寫獲得
    		iterator = collection.iterator();   //重新獲得迭代器后,游標指向 第一個元素的前面
    		//6.3 迭代刪除
    		while (iterator.hasNext()) {
    			String string = iterator.next();
    			if ("dd".equals(string)) {
    				iterator.remove();  	 	//迭代刪除
    			}
    		}
    		System.out.println( collection );
    		
    		//重新獲得迭代器, 游標指向 第一個元素的前面
    		iterator = collection.iterator();
    		//獲得了迭代器后, 如果再通過集合的add()/remove()/clear()等方法修改了集合的結構, 再迭代時,可能會產生異常
    		//獲得了迭代器后, 不能再通過集合的add()/remove()/clear()等方法修改集合的結構
    		// 可以在通過集合的add()/remove()/clear()等方法修改集合的結構后, 重新獲得迭代器對象
    //		collection.add("dd");
    		System.out.println( collection );
    		//再迭代遍歷
    		while (iterator.hasNext()) {
    			String string = (String) iterator.next();
    //			System.out.print( string + "\t");
    			if( "jj".equals(string) ){
    //				collection.remove("jj");
    			}
    		}
    	}
    
    }

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏