JAVA中幾種常見集合的使用實例

Java.util.ArrayList(類):java

import  java.awt. * ;
import  java.util. * ;
public   class  CollectionTest
{//List是一個能包含重複元素的已排序的Collection,有時list也稱爲序列,List第一個元素的下標爲0 
     public String colors[]={"red","white","blue"};//定義一個字符數組

     
//構造函數
     public CollectionTest()
     
{
          ArrayList list
=new ArrayList();//實例化一個ArrayList
          list.add(Color.magenta);//向裏面添加一個元素,這裏是顏色
          
          
for(int count=;count<colors.length;count++)
              list.add(colors[count]);
//加入開始聲明的數組中的元素
          
          list.add(Color.cyan);     
//顏色 導入awt包
          System.out.println("\nArrayList");
          
for(int count=;count<list.size();count++)
             System.out.println(list.get(count)
+" ");//從arrayList中讀取 元素
          
          removeString(list);
          System.out.println(
"\n\nArrayList after calling"+"removeString:");
          
for(int count=;count<list.size();count++)
                 System.out.println(list.get(count)
+" ");
     }

     
     
        
public void removeString(Collection collection)
        
{
             Iterator itrator
=collection.iterator();    //聲明一個迭代
             
//調用itrator的hasNext方法判斷Collection是否還包含元素
             while(itrator.hasNext())
             
{
                  
//調用itrator的next方法得到下一個元素的引用
                  if( itrator.next() instanceof String ) // instanceof 判斷是不是String 的實例
                        itrator.remove();    //若是是的 則刪除
             }

        }

     
     
public  static void main(String[] args)
     
{
          
new CollectionTest();
     }

     
}



該例示範了ArrayList的使用 先聲明瞭一String類型的數組,裏面存儲了「顏色」,是用字符串寫出的顏色,將這個字符串數組存入 ArrayList實例,同時還存入了awt包內的顏色實例,所有存入後利用迭代,刪除不符要求的假數據,也就是咱們用字符串寫的顏色,也用到了 instanceof 它是一個二元操做符,相似於equals用於判斷instanceof左邊 的對象 是不是 右邊對象的實例,如果 返回真,這裏 就能夠判斷 ArrayList裏面的真假顏色,假顏色是 字符串的 實例,因此咱們經過迭代 一個個對比。只要是String的實例就將其從數組中刪 除,因此最後 ArrayList裏面僅僅剩下二個元素,運行效果以下:
數組

 java.util.HashSet(類);函數

// Set是包含獨一無二元素的Collection,HashSet把它的元素存儲在哈希表中,而TreeSet把它的元素存儲在樹中
import  java.util. * ;

public   class  SetTest
{
     
private String colors[]={"orange","tan","orange","white",  "gray"};
     
public SetTest()
     
{
              ArrayList list;
              list
=new ArrayList(Arrays.asList(colors));
              System.out.println(
"ArrayList:"+list);
              printNonDuplicates(list);  
     }

 
 
     
public void printNonDuplicates(Collection collection)
     
{
          
//構造HashSet刪除Collection中多餘的元素
          HashSet set=new HashSet(collection);
          
// 將coolection放入HashSet後即會消除重複元素          
          System.out.println("set:"+set);

          Iterator itrator
=set.iterator();
          System.out.println(
"\nNonDuplicates are:");
          
while(itrator.hasNext())
          System.out.println(itrator.next()
+" ");
          System.out.println();
     }

         
     
public static void main(String[] args)
     
{  
            
new SetTest(); 
     }


}




能夠看到重複元素 orange除去了

java.util.Set(接口)
import  java.util.HashSet;
import  java.util.Iterator;
import  java.util.Set;

class  TestSet 
{    
     
public static void main(String args[])
     
{
         Set set 
= new HashSet();
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");//後面加入的重複性元素均無效
         set.add("bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         set.add(
"aaa");
         set.add(
"bbb");
         Iterator ite
=set.iterator();
         System.out.println(set.size());
//the result is 2
         while(ite.hasNext())
         
{
             System.out.println(
"----"+ite.next());
          }

     }

}


咱們看到效果

java.util.List(接口)
package  tt;

import  java.util.Arrays;
import  java.util.Collections;
import  java.util.Iterator;
import  java.util.LinkedList;
import  java.util.List;

public   class  ListTest  {

    
public static void baseUse(){
            
//鏈表實現
            List list = new LinkedList();
            
//數組實現
            
//List list = new ArrayList();
            list.add("a");//向列表的尾部追加"a"
            System.out.println("使用list接口的add()一個參數的方法:"+list);
            list.add(
,"b");//在指定位置插入"b"
            System.out.println("使用list接口的add二個參數的方法:"+list);
            list.remove(
"a");//移除列表中"a"
            System.out.println("使用list接口的remove()方法刪除a:"+list);
     }
    
      
public static void useSort(){
            String[] strArray 
= new String[] {"z""a""c","C"};
            List list 
= Arrays.asList(strArray);
            System.out.println(list);
            Collections.sort(list);
//根據元素天然順序排序
            System.out.println("天然順序:"+list);
            Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
//根據指定的字母方式排序    
            System.out.println("指定字母方式:"+list);
            Collections.sort(list, Collections.reverseOrder());
//根據反轉天然順序方式排序
            System.out.println("反轉天然順序:"+list);
            Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
            System.out.println(list);
            Collections.reverse(list);
//反轉列表排序
            System.out.println(list);
      }

           
    
public static void main(String[] args) {
    
        baseUse();
    
//    useSort();
    }


}


運行
 

java.util.TreeSet(類)
package  tt;

import  java.util.Iterator;
import  java.util.TreeSet;

public   class  TreeSetTest  {
    
     
public static void main(String args[]){
          TreeSet a 
= new TreeSet();
          a.add(
"1167014513046,hondanna_mousepress");
          a.add(
"1167014512046,hondanna_mousepress_usefull");
          a.add(
"1167014511046,hondanna_mousepress_num");
          a.add(
"1167014515437,hondanna_mousepress");
          a.add(
"1167014514438,hondanna_mousepress_usefull");
         Iterator iterator 
= a.iterator();
         
while(iterator.hasNext())
             System.out.println(iterator.next());
         }

}

運行結果:

TreeSet爲使用樹來進行存儲的Set接口提供了一個工具,對象按升序存儲,訪問和存儲是很快的,在存儲了大量的須要進行快速檢索的排序信息的狀況下,TreeSet是一個很好的選擇。 構造函數定義爲: TreeSet()-構造一個空的樹集合,該樹集合將根據其元素的天然順序按升序排序。 TreeSet(Collection c)-構造了一個包含了c的元素的樹的集合。 TreeSet(Comparator comp)-構造了一個空的樹的集合,它按照由comp指定的比較函數進行排序。 TreeSet(SortedSet ss)-構造了一個包含ss的元素的樹集合。
相關文章
相關標籤/搜索