包含vb.net用哈希存储的词条

编写一程序,用哈希表实现学生成绩单的存储与查询

import java.util.Hashtable;

创新互联公司服务项目包括金湖网站建设、金湖网站制作、金湖网页制作以及金湖网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,金湖网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到金湖省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

声明引用了吗?

给你完整代码

学生类Student,代码如下:

class Student{

private String no;

private String name;

private Integer score;

public String getNo() {

return no;

}

public void setNo(String no) {

this.no = no;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getScore() {

return score;

}

public void setScore(Integer score) {

this.score = score;

}

public String toString(){

return "学号:" + no + " 姓名:" + name + " 成绩:" + score;

}

}

主类HashTest,代码如下:

import javax.swing.*;

import java.util.Vector;

import java.util.Hashtable;

import java.awt.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

public class HashTest extends JFrame {

JLabel lblsearchbyidorname;

JTextField txfidorname;

JButton btnsearchbyidorname;

JTable reader;

JButton btnadd;

JButton btndelete;

Hashtable ht;

Vector colnames;

JLabel lblno;

JLabel lblname;

JLabel lblscore;

JTextField addno;

JTextField addname;

JTextField addscore;

Vector data;

public HashTest() throws HeadlessException {

super("学生成绩管理");

ht = new Hashtable();

lblsearchbyidorname = new JLabel("学号:");

txfidorname = new JTextField(20);

lblno = new JLabel("学号");

lblname = new JLabel("姓名");

lblscore = new JLabel("分数");

addno = new JTextField(10);

addname = new JTextField(12);

addscore = new JTextField(10);

btnsearchbyidorname = new JButton("查找--");

btnadd = new JButton("新增");

btndelete = new JButton("删除");

colnames = new Vector();

colnames.add("学号");

colnames.add("姓名");

colnames.add("成绩");

data = new Vector();

reader = new JTable(new ReaderTableModel(data,colnames));

reader.setPreferredSize(new Dimension(700,260));

JPanel pnlsearch = new JPanel();

pnlsearch.add(lblsearchbyidorname);

pnlsearch.add(txfidorname);

pnlsearch.add(btnsearchbyidorname);

pnlsearch.add(btndelete);

JScrollPane scptable = new JScrollPane(reader,

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

JPanel pnladd = new JPanel();

pnladd.add(lblno);

pnladd.add(addno);

pnladd.add(lblname);

pnladd.add(addname);

pnladd.add(lblscore);

pnladd.add(addscore);

pnladd.add(btnadd);

reader.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

ScoreHandler sh = new ScoreHandler();

btnadd.addActionListener(sh);

btndelete.addActionListener(sh);

btnsearchbyidorname.addActionListener(sh);

Container c = getContentPane();

c.add(pnlsearch,BorderLayout.NORTH);

c.add(scptable,BorderLayout.CENTER);

c.add(pnladd,BorderLayout.SOUTH);

setSize(600,400);

setVisible(true);

}

public static void main(String[] args) {

new HashTest();

}

class ScoreHandler implements ActionListener{

public void actionPerformed(ActionEvent e) {

JButton btn = (JButton)e.getSource();

if(btn == btnsearchbyidorname){

Object obj = ht.get(txfidorname.getText().trim());

if(obj == null){

JOptionPane.showMessageDialog(null,"没有找到!");

}else{

JOptionPane.showMessageDialog(null,"查询结果如下:\n" + obj.toString());

}

}else if(btn == btnadd){

Student stu = new Student();

stu.setName(addname.getText().trim());

stu.setNo(addno.getText().trim());

stu.setScore(Integer.valueOf(addscore.getText().trim()));

ht.put(stu.getNo(),stu);

addDataToTable(stu);

addname.setText("");

addno.setText("");

addscore.setText("");

}else if(btn == btndelete){

int index = reader.getSelectedRow();

if (index == -1){

JOptionPane.showMessageDialog(null,"你没有选择学生!");

}else{

String no = (String)reader.getValueAt(index,0);

Student stu = (Student)ht.remove(no);

JOptionPane.showMessageDialog(null,"学生成绩删除!\n" + stu.toString());

data.remove(index);

reader.repaint();

}

}

}

}

public void addDataToTable(Student stu){

Vector temp = new Vector();

temp.add(stu.getNo());

temp.add(stu.getName());

temp.add(stu.getScore());

data.add(temp);

reader.repaint();

}

}

VB.NET中 1.存储数字的不同数据类型所需字节数的大小? 2.随机文件写入的基本单位是什么?

1、

Boolean

取决于实现平台

Byte

1 个字节

Char

2 个字节

Date

8 个字节

Decimal

16 个字节

Double

8 个字节

Integer

4 个字节

Long

8 个字节

Object

4 个字节(32 位平台上)

8 个字节(64 位平台上)

SByte

1 个字节

Short

2 个字节

Single

4 个字节

String
(变长)

取决于实现平台

UInteger

4 个字节

ULong

8 个字节

用户定义的(结构)

取决于实现平台

UShort

2 个字节

2、

字节

为什么VB.net和JAVA上相同的字符串对应的哈希值

ateString

时间:DateTime.Now.ToFileTime

可以这样用:

Response.Write(DateTime.Now.ToShortDateString() + "br/");

Response.Write(DateTime.Now.ToShortTimeString() + "br/");

输出:

2007-1-29

8:49

Response.Write(DateTime.Now.ToLongDateString() + "br/");

Response.Write(DateTime.Now.ToLongTimeString() + "br/");

输出:

2007年1月29日

8:49:15

不知合不合你要求

我是要VS2005下使用,很好用。可查看MSDN以下简单例出:

.NET Framework 类库

DateTime 成员

请参见 构造函数 字段 方法 属性 显式接口实现

全部折叠 全部展开 成员选项:全部显示 成员选项:已筛选

包括继承的成员

包括受保护的成员

仅 .NET Compact Framework 成员

表示时间上的一刻,通常以日期和当天的时间表示。

下表列出了由 DateTime 类型公开的成员。

公共构造函数

名称 说明

DateTime 已重载。初始化 DateTime 结构的新实例。

页首

公共字段

名称 说明

MaxValue 表示 DateTime 的最大可能值。此字段为只读。

MinValue 表示 DateTime 的最小可能值。此字段为只读。

页首

公共属性

名称 说明

Date 获取此实例的日期部分。

Day 获取此实例所表示的日期为该月中的第几天。

DayOfWeek 获取此实例所表示的日期是星期几。

DayOfYear 获取此实例所表示的日期是该年中的第几天。

Hour 获取此实例所表示日期的小时部分。

Kind 获取一个值,该值指示由此实例表示的时间是基于本地时间、协调通用时间 (UTC),还是两者皆否。

Millisecond 获取此实例所表示日期的毫秒部分。

Minute 获取此实例所表示日期的分钟部分。

Month 获取此实例所表示日期的月份部分。

Now 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间。

Second 获取此实例所表示日期的秒部分。

Ticks 获取表示此实例的日期和时间的刻度数。

TimeOfDay 获取此实例的当天的时间。

Today 获取当前日期。

UtcNow 获取一个 DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为协调通用时间 (UTC)。

Year 获取此实例所表示日期的年份部分。

页首

公共方法

名称 说明

Add 将指定的 TimeSpan 的值加到此实例的值上。

AddDays 将指定的天数加到此实例的值上。

AddHours 将指定的小时数加到此实例的值上。

AddMilliseconds 将指定的毫秒数加到此实例的值上。

AddMinutes 将指定的分钟数加到此实例的值上。

AddMonths 将指定的月份数加到此实例的值上。

AddSeconds 将指定的秒数加到此实例的值上。

AddTicks 将指定的刻度数加到此实例的值上。

AddYears 将指定的年份数加到此实例的值上。

Compare 比较 DateTime 的两个实例,并返回它们相对值的指示。

CompareTo 已重载。 将此实例与指定的对象或值类型进行比较,并返回二者相对值的指示。

DaysInMonth 返回指定年和月中的天数。

Equals 已重载。 返回一个值,该值指示两个 DateTime 对象,或者一个 DateTime 实例和另一个对象或 DateTime 是否相等。

FromBinary 反序列化一个 64 位二进制值,并重新创建序列化的 DateTime 初始对象。

FromFileTime 将指定的 Windows 文件时间转换为等效的本地时间。

FromFileTimeUtc 将指定的 Windows 文件时间转换为等效的 UTC 时间。

FromOADate 返回与指定的 OLE 自动化日期等效的 DateTime。

GetDateTimeFormats 已重载。 将此实例的值转换为标准 DateTime 格式说明符支持的所有字符串表示形式。

GetHashCode 已重写。 返回此实例的哈希代码。

GetType 获取当前实例的 Type。 (从 Object 继承。)

GetTypeCode 返回值类型 DateTime 的 TypeCode。

IsDaylightSavingTime 指示此 DateTime 实例是否在当前时区的夏时制范围内。

IsLeapYear 返回指定的年份是否为闰年的指示。

op_Addition 将指定的时间间隔加到指定的日期和时间以生成新的日期和时间。

op_Equality 确定 DateTime 的两个指定的实例是否相等。

op_GreaterThan 确定指定的 DateTime 是否大于另一个指定的 DateTime。

op_GreaterThanOrEqual 确定指定的 DateTime 是否大于或等于另一个指定的 DateTime。

op_Inequality 确定 DateTime 的两个指定的实例是否不等。

op_LessThan 确定指定的 DateTime 是否小于另一个指定的 DateTime。

op_LessThanOrEqual 确定指定的 DateTime 是否小于或等于另一个指定的 DateTime。

op_Subtraction 已重载。 从指定的 DateTime 减去指定的 DateTime 或 TimeSpan。

Parse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

ParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

ReferenceEquals 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

SpecifyKind 创建新的 DateTime 对象,该对象表示与指定的 DateTime 相同的时间,但是根据指定的 DateTimeKind 值的指示,指定为本地时间或协调通用时间 (UTC),或者两者皆否。

Subtract 已重载。 从此实例中减去指定的时间或持续时间。

ToBinary 将当前 DateTime 对象序列化为一个 64 位二进制值,该值随后可用于重新创建 DateTime 对象。

ToFileTime 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToFileTimeUtc 将当前 DateTime 对象的值转换为 Windows 文件时间。

ToLocalTime 将当前 DateTime 对象的值转换为本地时间。

ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形式。

ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。

ToOADate 将此实例的值转换为等效的 OLE 自动化日期。

ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。

ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式。

ToString 已重载。 已重写。 将此实例的值转换为其等效的字符串表示。

ToUniversalTime 将当前 DateTime 对象的值转换为协调通用时间 (UTC)。

TryParse 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。

TryParseExact 已重载。 将日期和时间的指定字符串表示转换成其等效的 DateTime。该字符串表示形式的格式必须与指定的格式完全匹配。

页首

显式接口实现

名称 说明

System.IConvertible.ToBoolean 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToByte 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToChar 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToDateTime 返回当前 DateTime 对象。

System.IConvertible.ToDecimal 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToDouble 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToSByte 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToSingle 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToType 将当前的 DateTime 对象转换为指定类型的对象。

System.IConvertible.ToUInt16 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToUInt32 不支持此转换。尝试这样做会引发 InvalidCastException。

System.IConvertible.ToUInt64 不支持此转换。尝试这样做会引发 InvalidCastException。

System.Runtime.Serialization.ISerializable.GetObjectData 使用序列化当前 DateTime 对象所需要的数据来填充 SerializationInfo 对象。

页首

请参见

参考

DateTime 结构

VB.NET 中 HASHTABLE 的疑问

我们知道Hashtable 是线程安全的,可由多个读取器线程或一个写入线程使用。

它的特点是:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.

HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null为关键码的.

我们知道在使用内存中的地址时是按照哪里有空闲的就使用哪里的。怎么可能一直由着我们输入的顺序给你开放地址呢?

VB.net每种数据类型特点?

VB.NET数据类型VB.NET中有12种不同的数据类型,可以分成三类:数值类型、文本类型和混合类型。数值类型是VB.NET数据类型的主要类型,共7种。数值类型的数据类型见下表。 数据类型表示方式取 值 范 围说 明整型Integer–2147483648~2147483647用于表示简单整数字节型Byte0~255用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快短整型Short–32768~32767是整型的一种形式,相对表示范围较小长整型Long–9223372036854775808~9223372036854775807是整型的一种形式,相对表示范围较大单精

度型Single–3.402823E38~–1.401298E-45(对于负数)和1.401298E-45~3.402823E38(对于正数)用于存放单精度浮点数双精

度型Double–1.79869313486232E308~–4.94065645841247E-324(对于负数)和4.94065645841247E-324~1.79869313486232E308(对于正数)用于存放双精度浮点数小数Decimal当小数位为0的时候,为–79228162514264337593543950335~

79228162514264337593543950335;当小数位为28的时候,为–7.9228162514264337593543950335~

7.9228162514264337593543950335常用于存储货币值 数值类型的数据类型 用于存放文本的数据类型有两个。文本类型的VB.NET数据类型见下表。 数 据 类 型表 示 方 式说 明字符串型String用于存放任何形式的字符串,包括一个字符或者多行字符字符型Char用于存放一个字符,它以0~65535之间数字的形式存储文本类型的数据类型 其中需要说明的是: (1) 对于String类型,可以存放任何形式的字符串,它可以是纯粹的文本,也可以是文本和数字的组合或者是数字、日期等。例如"This is a book. "和"12345"都是字符串。对于字符串类型的数据,可以进行相关的字符串操作,例如连接、截断等。 (2) 对于Char类型,可以存储的只是一个字符,注意,这个字符的存储编码必需是一个数字。在计算机系统中,可以显示很多符号(不仅仅是英文字母),为了能够正确地显示,国际上有通用的标准(例如Unicode编码),为每个字符设定了一个标准的数值来表示这个字符。其余的数据类型还有:Date数据类型、布尔数据类型和Object数据类型,其说明见下表。 数 据 类 型表 示 方 式说 明日期型Date必须用mm/dd/yyyy的格式表示,也可以存储时间(可以存储00:00:00~23:59:59之间的任何时间)布尔型Boolean取值为True和False对象型Object 其他数据类型 其中需要说明的是:在VB.NET中,对于Boolean类型的数据,当需要把布尔类型的值转换为数值类型的时候,会把True当成1来处理,把False当作0来处理。当需要把VB.NET数值类型的值转换为布尔类型的时候,会把0转换为False,而把其他的非0数值转换为True。


文章标题:包含vb.net用哈希存储的词条
本文URL:http://myzitong.com/article/docsees.html