编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 给我留言 | 
        
【字体:
进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:不详    点击数:    更新时间:2007-4-20    

Java.util包简介并教您如何开发应用之二

um1.hasMoreElements())
     System.out.print(enum1.nextElement()+" ");
    System.out.println();
    //依次打印hash中的内容
    if(hash.containsKey("Jiangsu"))
     System.out.println
("The capatial of Jiangsu is "+hash.get("Jiangsu"));
    hash.remove("Beijing");
    //删除关键字Beijing对应对象
    System.out.println
("The hashtable hash2 is: "+hash);
    System.out.println
("The size of this hash table is "+hash.size());
   }
  }




运行结果:


The hashtable hash1 is:
{
Beijing=Beijing,
Zhejiang=Hangzhou,
Jiangsu=Nanjing}
The size of this hash table is 3
The element of hash is:
Beijing Hangzhou Nanjing
The capatial of Jiangsu is Nanjing
The hashtable hash2 is:
{
Zhejiang=Hangzhou, Jiangsu=Nanjing}
The size of this hash table is 2




Hashtable是Dictionary(字典)类的子类。在字典类中就把关键字对应到数据值。字典类是一个抽象类。在java.util中还有一个类Properties,它是Hashtable的子类。用它可以进行与对象属性相关的操作。

1.8 位集合类BitSet

位集合类中封装了有关一组二进制数据的操作。我们先来看一下例8.6 BitSetApp.java。

例8.6 BitSetApp.java


//import java.lang.*;
  import java.util.BitSet;
  public class BitSetApp
{
   private static int n=5;
   public static void main(String[] args)
{
    BitSet set1=new BitSet(n);
    for(int i=0;i    //将set1的各位赋1,即各位均为true
    BitSet set2= new BitSet();
    set2=(BitSet)set1.clone();
    //set2为set1的拷贝
    set1.clear(0);
    set2.clear(2);
    //将set1的第0位set2的第2位清零
    System.out.println
("The set1 is: "+set1);
    //直接将set1转换成字符串输出,
输出的内容是set1中值true所处的位置
    //打印结果为The set1 is:
{1,2,3,4}
    System.out.println
("The hash code of set2 is:
"+set2.hashCode());
    //打印set2的hashCode
    printbit("set1",set1);
    printbit("set2",set2);
    //调用打印程序printbit(),
打印对象中的每一个元素
    //打印set1的结果为The bit set1 is:
false true true true true
    set1.and(set2);
    printbit("set1 and set2",set1);
    //完成set1 and set2,并打印结果
    set1.or(set2);
    printbit("set1 or set2",set1);
    //完成set1 or set2,并打印结果
    set1.xor(set2);
    printbit("set1 xor set2",set1);
    //完成set1 xor set2,并打印结果
   }
   //打印BitSet对象中的内容
   public static void printbit
(String name,BitSet set)
{
    System.out.print
("The bit "+name+" is: ");
    for(int i=0;i     System.out.print
(set.get(i)+" ");
    System.out.println();
   }
  }




运行结果:


The set1 is: {1, 2, 3, 4}
The hash code of set2 is: 1225
The bit set1 is: false true true true true
The bit set2 is: true true false true true
The bit set1 and set2 is:
false true false true true
The bit set1 or set2 is:
true true false true true
The bit set1 xor set2 is:
false false false false false




程序中使用了BitSet类提供的两种构造方法:


public BitSet();
public BitSet(int n);




参数n代表所创建的BitSet类的对象的大小。BitSet类的对象的大小在必要时会由系统自动扩充。

其它方法:

  public void set(int n)

  将BitSet对象的第n位设置成1。

  public void clear(int n)

  将BitSet对象的第n位清零。

  public boolean get(int n)

  读取位集合对象的第n位的值,它获取的是一个布尔值。当第n位为1时,返回true;第n位为0时,返回false。

  另外,如在程序中所示,当把一BitSet类的对象转换成字符串输出时,输出的内容是此对象中true所处的位置。

  在BitSet中提供了一组位操作,分别是:

  public void and(BitSet set)

  public void or(BitSet set)

  public void xor(BitSet set)

利用它们可以完成两个位集合之间的与、或、异或操作。

  BitSet类中有一方法public int size()来取得位集合的大小,它的返回值与初始化时设定的位集合大小n不一样,一般为64。

上一页  [1] [2] [3] 

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营