JAVA中几种常见集合的使用实例



Java.util.ArrayList(类):

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=0;count<colors.length;count++)
              list.add(colors[count]);//加入开始声明的数组中的元素
          
          list.add(Color.cyan);     //颜色  导入awt包
          System.out.println("\nArrayList");
          for(int count=0;count<list.size();count++)
             System.out.println(list.get(count)+" ");//从arrayList中读取 元素
          
          removeString(list);
          System.out.println("\n\nArrayList after calling"+"removeString:");
          for(int count=0;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(); 
     }

}
运行结果:

TreeSet为使用树来进行存储的Set接口提供了一个工具,对象按升序存储,访问和存储是很快的,在存储了大量的需要进行快速检索的排序信息的情况下,TreeSet是一个很好的选择
构造函数定义为:
TreeSet()-构造一个空的树集合,该树集合将根据其元素的自然顺序按升序排序。
TreeSet(Collection c)-构造了一个包含了c的元素的树的集合。
TreeSet(Comparator comp)-构造了一个空的树的集合,它按照由comp指定的比较函数进行排序。
TreeSet(SortedSet ss)-构造了一个包含ss的元素的树集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值