import java.util.Enumeration;
import java.util.Vector;
public class DataStruct {
public static void main(String[] args) {
// Enumeration接口,泛型
Enumeration<String> days;
Vector<String> dayNames = new Vector<String>(10);
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());
}
// Vector 类
/**
* Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同的:
* 1、Vector 是同步访问的。
* 2、Vector包含了许多传统的方法,这些方法不属于集合框架。
* 应用场景:
* 1、Vector 主要用在事先不知道数组的大小,
* 2、或者只是需要一个可以改变大小的数组的情况。
*
* Vector 类支持 4 种构造方法。
* 1、Vector():创建一个默认的向量,默认大小为 10,但不仅限于10
* 2、Vector(int size):指定大小的向量。但不仅限于指定大小。
* 3、Vector(int size,int incr):指定大小的向量,并且增量用 incr指定。即不够用了,就增加指定长度。
* 4、Vector(Collection c):创建一个包含集合 c 元素的向量
*/
// 1、void add(int index, Object element)
// 在此向量的指定位置插入指定的元素。
// 2、boolean add(Object o)
// 将指定元素添加到此向量的末尾。
// 3、boolean addAll(Collection c)
// 将指定 Collection 中的所有元素添加到此向量的末尾,按照指定 collection 的迭代器所返回的顺序添加这些元素。
// 4、boolean addAll(int index, Collection c)
// 在指定位置将指定 Collection 中的所有元素插入到此向量中。
// 5、void addElement(Object obj)
// 将指定的组件添加到此向量的末尾,将其大小增加 1。
// 6、int capacity()
// 返回此向量的当前容量。
// 7、void clear()
// 从此向量中移除所有元素。
// 8、Object clone()
// 返回向量的一个副本。
// 9、boolean contains(Object elem)
// 如果此向量包含指定的元素,则返回 true。
// 10、boolean containsAll(Collection c)
// 如果此向量包含指定 Collection 中的所有元素,则返回 true。
// 11、void copyInto(Object[] anArray)
// 将此向量的组件复制到指定的数组中。
// 12、Object elementAt(int index)
// 返回指定索引处的组件。
// 13、Enumeration elements()
// 返回此向量的组件的枚举。
// 14、void ensureCapacity(int minCapacity)
// 增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
// 15、boolean equals(Object o)
// 比较指定对象与此向量的相等性。
// 16、Object firstElement()
// 返回此向量的第一个组件(位于索引 0) 处的项)。
// 17、Object get(int index)
// 返回向量中指定位置的元素。
// 18、int hashCode()
// 返回此向量的哈希码值。
// 19、int indexOf(Object elem)
// 返回此向量中第一次出现的指定元素的索引,如果此向量不包含该元素,则返回 -1。
// 20、int indexOf(Object elem, int index)
// 返回此向量中第一次出现的指定元素的索引,从 index 处正向搜索,如果未找到该元素,则返回 -1。
// 21、void insertElementAt(Object obj, int index)
// 将指定对象作为此向量中的组件插入到指定的 index 处。
// 22、boolean isEmpty()
// 测试此向量是否不包含组件。
// 23、Object lastElement()
// 返回此向量的最后一个组件。
// 24、int lastIndexOf(Object elem)
// 返回此向量中最后一次出现的指定元素的索引;如果此向量不包含该元素,则返回 -1。
// 25、int lastIndexOf(Object elem, int index)
// 返回此向量中最后一次出现的指定元素的索引,从 index 处逆向搜索,如果未找到该元素,则返回 -1。
// 26、Object remove(int index)
// 移除此向量中指定位置的元素。
// 27、boolean remove(Object o)
// 移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。
// 28、boolean removeAll(Collection c)
// 从此向量中移除包含在指定 Collection 中的所有元素。
// 29、void removeAllElements()
// 从此向量中移除全部组件,并将其大小设置为零。
// 30、boolean removeElement(Object obj)
// 从此向量中移除变量的第一个(索引最小的)匹配项。
// 31、void removeElementAt(int index)
// 删除指定索引处的组件。
// 32、protected void removeRange(int fromIndex, int toIndex)
// 从此 List 中移除其索引位于 fromIndex(包括)与 toIndex(不包括)之间的所有元素。
// 33、boolean retainAll(Collection c)
// 在此向量中仅保留包含在指定 Collection 中的元素。
// 34、Object set(int index, Object element)
// 用指定的元素替换此向量中指定位置处的元素。
// 35、void setElementAt(Object obj, int index)
// 将此向量指定 index 处的组件设置为指定的对象。
// 36、void setSize(int newSize)
// 设置此向量的大小。
// 37、int size()
// 返回此向量中的组件数。
// 38、List subList(int fromIndex, int toIndex)
// 返回此 List 的部分视图,元素范围为从 fromIndex(包括)到 toIndex(不包括)。
// 39、Object[] toArray()
// 返回一个数组,包含此向量中以恰当顺序存放的所有元素。
// 40、Object[] toArray(Object[] a)
// 返回一个数组,包含此向量中以恰当顺序存放的所有元素;返回数组的运行时类型为指定数组的类型。
// 41、String toString()
// 返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。
// 42、void trimToSize()
// 对此向量的容量进行微调,使其等于向量的当前大小。
System.out.println("***********例子*********");
// 例子
// 第三种初始化方法
Vector v = new Vector(3, 2);
System.out.println("Initial size: " + v.size());
System.out.println("Initial capacity: " + v.capacity());
// 添加4个元素,超出了初始化的容量3,则添加指定大小容量2,增加后的容量大小为5
// 向量啥都能装,类似python中的[]
v.addElement(1);
v.addElement("字符串");
v.addElement(3.5);
v.addElement(4);
System.out.println("Capacity after four additions: " + v.capacity());
System.out.println("First element: " + (Integer) v.firstElement());
System.out.println("Last element: " + (Integer) v.lastElement());
if (v.contains(4))
System.out.println("Vector contains 4.");
// enumerate the elements in the vector.
Enumeration vEnum = v.elements();
System.out.println("\nElements in vector:");
while (vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + " ");
System.out.println();
}
}
Java 数据结构:Enumeration和Vector
最新推荐文章于 2021-02-24 12:27:40 发布