java学习[2]_数据结构

数据结构

简要介绍一些java中的数据结构。
Java工具包提供了强大的数据结构,在Java中的数据结构主要包括以下七种接口和类。

  1. java数据结构介绍:
    1、Enumeration接口:枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。其中包括了nextElement()方法:用来得到一个包含多元素的数据结构的下一个元素;hasmoreElements()方法:测试此枚举是否包含更多的元素,返回布尔值。
    2、Vector类:Vector类实现了一个动态数组,Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。
    3、Bitset类:一个Bitset类创建一种特殊类型的数组来保存位值,同时,BitSet中数组大小会随需要增加。
    4、Stack类:栈是Vector的一个子类,实现了一个标准的后进先出的栈。
    5、Dictionary类:Dictionary 类是一个抽象类,用来存储键/值对,Python中也有字典。
    6、Hashtable接口:Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现,因此Hashtable在哈希表中也是存储键/值对。
    7、Properties接口:Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。

  2. 程序及结果
    代码1:测试枚举类型,打印元素,使用了nextElement()和hasMoreElements()方法:

package DataStructure;
import java.util.Enumeration;
import java.util.Vector;
public class TestEnumeration {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //打印枚举所有元素
        Enumeration numbers;
        Vector number = new Vector();
        for(int i=0;i<10;i++){
            number.add(i);
        }
        numbers = number.elements();
        do{
            //打印当前位置下一个元素使用nextElement()方法
            System.out.print(numbers.nextElement());
        }while(numbers.hasMoreElements());//测试此枚举是否含有更多的元素,返回布尔值
    }
}

代码2:测试BitSet类型,测试与、或集合操作:

package DataStructure;
import java.util.BitSet;
public class TestBitSet {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BitSet BS1 = new BitSet(20);
        BitSet BS2 = new BitSet(20);
        //创建BitSet
        for(int i=0;i<20;i++){
            if(i%2==0){
                BS1.set(i);
            }
            if(!(i%3==0)){
                BS2.set(i);
            }
        }
        //打印BitSet
        System.out.println("BS1: " + BS1);
        System.out.println("BS2: " + BS2);
        //集合之间的与操作 AND
        BS2.and(BS1);
        System.out.println("两集合的与操作:"+BS2);
        //集合之间的或操作 OR
        BS2.or(BS1);
        System.out.println("两集合的或操作:"+BS2);
    }
}

XiaoV_余

猜你喜欢

转载自blog.csdn.net/yuxiao_v/article/details/54896674