枚举(Enumeration)
Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素。类似于迭代器的功能,
序号 | 方法描述 |
---|---|
1 | boolean hasMoreElements( ) 测试此枚举是否包含更多的元素。 |
2 | Object nextElement( ) 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。 |
使用实例:
import java.util.Vector;
import java.util.Enumeration;
public class EnumerationTester {
public static void main(String args[]) {
Enumeration<String> days;
Vector<String> dayNames = new Vector<String>();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
days = dayNames.elements();
while (days.hasMoreElements()){
System.out.println(days.nextElement());
}
}
}
位集合(BitSet)
一个Bitset类创建一种特殊类型的数组来保存位值。BitSet中数组大小会随需要增加。这和位向量(vector of bits)比较类似。
使用实例:
向量(Vector)
- Vector 是同步访问的。
- Vector 包含了许多传统的方法,这些方法不属于集合框架。
Vector 类支持 4 种构造方法。
Vector() # 创建一个默认的向量,默认大小为 10
Vector(int size) # 创建指定大小的向量
Vector(int size,int incr) # 创建指定大小的向量,并且增量用 incr 指定。增量表示向量每次增加的元素数目。
Vector(Collection c) # 创建一个包含集合 c 元素的向量
跟c++的Vector用法差不多。
栈(Stack)
栈是Vector的一个子类,它实现了一个标准的后进先出的栈。
stack除了拥有Vetor父类的方法,也有自己的方法,比如常用的push()入栈和pop()出栈
字典(Dictionary)
Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似。
给出键和值,你就可以将值存储在Dictionary对象中。一旦该值被存储,就可以通过它的键来获取它。所以和Map一样, Dictionary 也可以作为一个键/值对列表。
哈希表(Hashtable)
Hashtable是原始的java.util的一部分, 是一个Dictionary具体的实现 。
Hashtable定义了四个构造方法:
Hashtable() # 默认方法
Hashtable(int size) # 创建指定大小的哈希表
Hashtable(int size,float fillRatio) # 创建了一个指定大小的哈希表,并且通过fillRatio指定填充比例
Hashtable(Map m) # 创建了一个以M中元素为初始化元素的哈希表,哈希表的容量被设置为M的两倍。
属性(Properties)
Properties 继承于 Hashtable。表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。
Properties 类被许多 Java 类使用。例如,在获取环境变量时它就作为 System.getProperties() 方法的返回值。
Properties 定义如下实例变量.这个变量持有一个 Properties 对象相关的默认属性列表。
Properties defaults;
Properties() # 没有默认值
Properties(Properties propDefault) # 使用propDefault 作为默认值。两种情况下,属性列表都为空
import java.util.*;
public class PropDemo {
public static void main(String args[]) {
Properties capitals = new Properties();
Set states;
String str;
capitals.put("Illinois", "Springfield");
capitals.put("Missouri", "Jefferson City");
capitals.put("Washington", "Olympia");
capitals.put("California", "Sacramento");
capitals.put("Indiana", "Indianapolis");
// Show all states and capitals in hashtable.
states = capitals.keySet(); // get set-view of keys
Iterator itr = states.iterator();
while(itr.hasNext()) {
str = (String) itr.next();
System.out.println("The capital of " +
str + " is " + capitals.getProperty(str) + ".");
}
System.out.println();
// look for state not in list -- specify default
str = capitals.getProperty("Florida", "Not Found");
System.out.println("The capital of Florida is "
+ str + ".");
}
}
以上实例编译运行结果如下: