Vector,Hashtable,Enumeration知识要点

2023-10-24 22:08

本文主要是介绍Vector,Hashtable,Enumeration知识要点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Vector类似于一个数组,但与数组相比在使用上有以下两个优点。
(1) 使用的时候无需声明上限,随着元素的增加,Vector的长度会自动增加。
(2)  Vector提供额外的方法来增加、删除元素,比数组操作高效。
Vector类有三个构造函数,分别如下:
public Vector();
该方法创建一个空的Vector。
public Vector(int initialCapacity);
该方法创建一个初始长度为initialCapacity的Vector。
public Vector(int initialCapacity, int capacityIncrement);
该方法创建一个初始长度为initialCapacity的Vector,当向量需要增长时,增加capacityIncrement个元素。

(1)  Vector类中添加、删除对象的方法如下:
public void add(int index, Object element)
在index位置添加对象element。
public boolean add(Object o)
在Vector的末尾添加对象o。
public Object remove(int index)
删除index位置的对象,后面的对象依次前提。

(2)  Vector类中访问、修改对象的方法如下:
public Object get(int index)
返回index位置对象。
public Object set(int index, Object element)
修改index位置的对象为element。

(3) 其它方法:
public String toString()
将元素转换成字符串。
public int size()
返回对象的长度。

【例3.7】操作Vector对象,进行元素的添加、插入、修改和删除。程序输出结果如图3.6所示。源程序代码如下:
//程序文件名为UseVector.java
import java.util.Vector;//引入JDK的Vector类
public class UseVector
{
public static void main(String[] args)
{
Vector vScore = new Vector();
vScore.add(" 86"); //添加元素
vScore.add(" 98"); //添加元素
vScore.add(1, " 99"); //插入元素
//输出结果
for (int I = 0; I < vScore.size(); I++)
{
System.out.print(vScore.get(i) + "   ");
}
vScore.set(1, " 77"); //修改第二个元素
vScore.remove(0); //删除第一个元素
System.out.println(″\n修改并删除之后″);
for (int I = 0; I< vScore.size(); I++)
{
System.out.print(vScore.get(i) + "   ");
}
System.out.println(" \n转换成字符串之后的输出\n"  + vScore.toString());
}
};


3.3.2  Hashtable类
Hashtable类存储的是对象的名-值对。将对象的名和它的值相关联同时存储,并可以根据对象名来提取它的值。在Hashtable中,一个键名只能对应着一个键值,然而一个键值可以对应多个键名,键名必须是惟一的。构造函数以及常用方法如下:
public Hashtable()
构建散列表。
public Hashtable(int initialCapacity)
构建长度为initialCapacity的散列表。
public int size()
返回散列表的名的个数。
public Object remove(Object key)
删除散列表中key名及其对应的value值。
public Object put(Object key,Object value)
将对象名key和对象值value存放到散列表中。
public Object get(Object key)
返回散列表key名对应的值。
public String toString()
转换成字符串。
hScore.put("李二","98");
hScore.put("海飞","99");
System.out.println("转换成字符串之后的输出:" + hScore.toString());
hScore.put("李二","77");
hScore.remove("张一");
System.out.println("修改并删除之后");
System.out.println("转换成字符串之后的输出:" + hScore.toString());
}
}

【例3.8】操作Hashtable对象,进行添加、修改、删除等操作,输出结果如图3.7所示。源程序代码如下:
//程序文件名为UseHashtable.java
import java.util.Hashtable;
public class UseHashtable
{
public static void main(String[] args)
{
Hashtable hScore = new Hashtable();
hScore.put("张一","86");


3.3.3  Enumeration接口
实现Enumeration接口的对象生成一系列元素,通过nextElement()方法依次读取下一个元素。只有以下两个方法:
public boolean hasMoreElements()
测试是否还有元素。
public Object nextElement()
返回枚举的下一个元素。
Enumeration接口及其方法通常与Vector、Hashtable一起连用,用来枚举Vector中的项和Hashtable中的键名,例如:
for (Enumeration e = v.elements() ; e.hasMoreElements() ;)
System.out.println(e.nextElement());
【例3.9】使用Enumeration接口枚举Vector中的对象和Hashtable对象中的键名,并进行输出,结果如图3.8所示。源程序代码如下:
//程序文件名UseEnumeration.java
import java.util.*;
public class UseEnumeration
{
public static void main(String[] args)
{
Vector vScore = new Vector();
vScore.add("86");
vScore.add("98");
vScore.add(1,"99");
System.out.println("Vector:" + vScore.toString());
for (Enumeration e = vScore.elements() ; e.hasMoreElements() ;)
System.out.println(e.nextElement());
Hashtable hScore = new Hashtable();
hScore.put("张一","86");
hScore.put("李二","98");
hScore.put("海飞","99");
System.out.println("Hashtable:" + hScore.toString());
for (Enumeration e = hScore.keys() ; e.hasMoreElements() ;)
{
String str = (String)e.nextElement();
System.out.print(str + ":");
System.out.println(hScore.get(str));
}
}
}


这篇关于Vector,Hashtable,Enumeration知识要点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/278063

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

系统优化要点

这是常用的系统优化要考虑的点,在系统设计和代码评审以及代码优化时加以考虑,最大限度提高系统性能:  1. 优化算法,选择合适高效算法,降低不必要递归,循环,多层循环嵌套,避免循环内初始化等。  2. 避免申请过多不必要的内存  3. 及时释放资源,降低资源使用时间,包括内存,IO,网络,数据库等。  4. 使用缓存:缓存常用的,不易变化的。  5. 慎用数据库锁。确

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

c语言要点!

其他合法的输入:     1.    3空格 空格4空格 空格 空格5 空格 回车     2.    3回车4空格5回车     3.    3(tab键)4回车5回车     例子2     #include<stdio.h>     #include<stdlib.h>     int main()     {     int a,b,c;     s

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了