集合类(一)

来源:互联网 发布:网络开设赌场被判案例 编辑:程序博客网 时间:2024/05/21 21:02

集合类、

一、定义

所谓的集合类,即为Java中的一种高级数据结构。在Java编程中,常用的集合类和接口有:Vector 、 Emumeration 、 ArrayList 、  Collection、 Iterator、Set 、List等

 

二、框架

 

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

三、Vector 类与Emumeration 接口

1、概述

(1)、Vector类:是Java语言提供的一种高级数据结构,可用于保存一系列对象,Vector适用于多线程使用可同步,安全系数较高。因此,Java不支持动态数组,Vector类提供了一种与"动态数组"相近的功能。适用:如果我们不能预先确保要保存对象的数目,或是需要方便获得某个对象的存放位置。

 

(2)Emumeration接口类:它提供了一种访问各种数据结构(Vector类只是众多数据结构中的一种)中的所有数据的抽象机制,就是访问我们各种数据结构对象中的所有元素是,都可以使用同样的方式,调用同样的方法。例如我们通过Vector.elements方法返回一个Emumeration接口对象(这个对象保存了Vector集合中所有元素),再用Emueration.nextElement方法逐一取出保存在集合中的每个对象。

 

2、类与接口

Vector<E>-------java.lang.Object

  E为泛型

(1)、构造函数

 

(2)常用方法

 boolean

add(E o)
          将指定元素追加到此向量的末尾。

 void

add(int index,E element)
          在此向量的指定位置插入指定的元素。

 boolean

addAll(Collection<? extendsE> c)
          将指定 Collection 中的所有元素追加到此向量的末尾,按照指定集合的迭代器所返回的顺序追加这些元素。

 boolean

addAll(int index,Collection<? extendsE> c)
          在指定位置将指定 Collection 中的所有元素插入到此向量中。

void

clear()
          从此向量中移除所有元素。

int

hashCode()
          返回此向量的哈希码值。

 E

remove(int index)
          移除此向量中指定位置的元素。

 boolean

remove(Object o)
          移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。

boolean

removeAll(Collection<?> c)
          从此向量中移除包含在指定 Collection 中的所有元素。

 int

size()
          返回此向量中的组件数。

 String

toString()
          返回此向量的字符串表示形式,其中包含每个元素的 String 表示形式。

 void

addElement(E obj)
          将指定的组件添加到此向量的末尾,将其大小增加 1

Enumeration<E>

elements()
          返回此向量的组件的枚举

 boolean

equals(Object o)
          比较指定对象与此向量的相等性

 

3、应用开发举例

package java0516_2;
import java.lang.*;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Vector;


public class Test1 {


public static void main(String[] args) {
/* (1)获取Vector集合中的所有对象及相应的内容
Vector v = new Vector();   //创建一个Vector的集合类对象
Enumeration e=v.elements();  
//调用Vector类的elements方法获取所有对象并返回一个Enumeration对象

while (e.hasMoreElements())  //遍历Enumeration对象中的所有元素
{
Integer intObj=(Integer) e.nextElement();
//获取Enumeration中的一个Object对象元素,并将其转换为Integer类型,
// 指示器指向下一个对象
System.out.println(intObj.intValue());

}
//(2)将一个数字序列存储到Vector集合中
Vector v1=new Vector();  //创建一个Vector的集合类对象
int b = System.in.read();  //从键盘获取一个字符
int num =b-'0';             
//将字符由b的ASCII码转换为数字,其'0'的ASCII码为48
v.addElement(new Integer(num));
//将一个数字转换为整型对象,存储到vector数据结构中
        */

/*
//(3)、源代码
int b=0;
Vector v=new Vector();
System.out.println("请输入数据:");
while(true){
//1 从键盘读取一个字节
try{
b=System.in.read();
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
//2 将字节转换为Integer 对象,并存储到Vector结构体中
if(b=='\r'||b=='\t')
{
break;//退出循环,即退出while
}
else
{
int num =b-'0';
//由于键盘输入的为字符,1的ASCII码为48
v.addElement(new Integer(num));
//将一个数字转换为整型对象,存储到vector数据结构中
}
}

//3 使用Enumeration接口取出所有Vector集合类存储的对象
int sum=0;
Enumeration e=v.elements();
//a 从Vector取出所有对象元素
while (e.hasMoreElements())// b 判断是否到末尾,取出所有数字
{
Integer i=(Integer)e.nextElement(); 
//获取一个数字元素对象,并将其转换为Integer包装类对象
sum+=i.intValue();  //读取Integer对象指定的数字
}
System.out.println(sum); //输出结果
*/

//4 常用的方法
Vector v1=new Vector();
Integer integer1=new Integer(1);
//加入为字符串对象
v1.addElement("one");
//加入的为Integer的对象
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement("two");
v1.addElement(new Integer(2));
v1.addElement(integer1);
v1.addElement(integer1);
//转换为字符,并打印
System.out.println("The Vector v1 is:\n\t"+v1);
//指定位置插入新对象
v1.insertElementAt("three", 2);
v1.insertElementAt(new Float(3.9), 3);
System.out.println("The Vector v1(used method insertElementAt()is:\n\t)"+v1);
          
//指定对象v1 中删除对象Integer1
//指定位置后的对象依次往后顺延
v1.setElementAt("four", 3);
v1.removeElementAt(integer1);
//从对象v1中删除对象的integer
//由于存在多个integer1,所以从头开始。
//找删除找到的第一个integer1
Enumeration e = v1.elements();
System.out.println("The vector v1 (used method removeElememt()is ");
while(e.hasMoreElements()) 
System.out.println(e.nextElement()+" ");
System.out.println();
 
//使用枚举类(Enumeration)的方法取得向量对象的每个元素
System.out.println("The position of Object1(top-to-botton):"+v1.indexOf(integer1));
System.out.println("The position of Object1(tottom-to-top):"+v1.lastIndexOf(integer1)); 
//按不同的方向查找对象integer1所处的位置
v1.setSize(4);   
         System.out.println("The new Vector(resized the vector)is:"+v1);   
         //重新设置v1的大小,多余的元素被抛弃 
 
 
 
 
}
     

}



 

0 0
原创粉丝点击