Java常用数据结构及类.docx
《Java常用数据结构及类.docx》由会员分享,可在线阅读,更多相关《Java常用数据结构及类.docx(13页珍藏版)》请在冰豆网上搜索。
![Java常用数据结构及类.docx](https://file1.bdocx.com/fileroot1/2022-11/17/535bc55b-c4d1-4e71-83f4-27aabd14ec3c/535bc55b-c4d1-4e71-83f4-27aabd14ec3c1.gif)
Java常用数据结构及类
Java常用数据结构及类
Java常用数据结构及类
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
本文特意为大家收集整理了Java常用数据结构及类,希望大家喜欢!
一、Vector类
Vector类似于一个数组,但与数组相比在使用上有以下两个优点。
1、使用的时候无需声明上限,随着元素的增加,Vector的长度会自动
增加。
2、Vector提供额外的方法来增加、删除元素,比数组操作高效。
Vector类有三个构造函数,分别如下:
publicVector();
该方法创建一个空的Vector。
publicVector(intinitialCapacity);
该方法创建一个初始长度为initialCapacity的Vector。
publicVector(intintialCapacity,intcapacityIncrement);
该方法创建一个初始长度为initialCapacity的Vector,当向量需要增长时,增加capacityIncrement个元素。
(1)Vector类中添加、删除对象的方法如下:
publicvoidadd(intindex,Objectelemtent)
在index位置添加对象element。
publicbooleanadd(Objecto)
在Vector的末尾添加对象o。
publicObjectremove(intindex)
删除index位置的对象,后面的对象依次前提。
(2)Vector类中访问、修改对象的方法如下:
publicObjectget(intindex)
返回index位置对象。
publicObjectset(intindex,Objectelement)
修改index位置的对象为element。
(3)其它方法:
publicStringtoString()
将元素转换成字符串。
publicintsize()
返回对象的长度。
例1:
操作Vector对象,进行元素的添加、插入、修改和删除。
程序输出结果如图1所示。
源程序代码如下:
importjava.util.Vector;//引入JDK的Vector类
publicclassUseVector
{
publicstaticvoidmain(String[]args)
{
VectorvScore=newVector();
vScore.add("86");//添加元素
vScore.add("98");//添加元素
vScore.add(1,"99");//插入元素
//输出结果
for(intI=0;I
{
System.out.print(vScore.get(i)+"");
}
vScore.set(1,"77");//修改第二个元素
vScore.remove(0);//删除第一个元素
System.out.println("修改并删除之后");
for(intI=0;I
{
System.out.print(vScore.get(i)+"");
}
System.out.println(:
转换成字符串之后的输出"+vScore.toString());
}
};
二、Hashtable类
Hashtable类存储的是对象的名-值对。
将对象的名和它的值相关联同时存储,并可以根据对象名来提取它的值。
在Hashtable中,一个键名只能对应着一个键值,然而一个键值可以对应多个键名,键名必须是惟一的。
构造函数以及常用方法如下:
publicHashtable()
构建散列表。
publicHashtable(intinitialCapacity)
构建长度为initialCapacity的散列表。
publicintsize()
返回散列表的名的个数。
publicObjectremove(Objectkey)
删除散列表中key名及其对应的value值。
publicObjectput(Objectkey,Objectvalue)
将对象名key和对象值value存放到散列表中。
publicObjectget(Objectkey)
返回散列表key名对应的值。
publicStringtoString()
转换成字符串。
例2:
操作Hashtable对象,进行添加、修改、删除等操作,输出结果如图2所示。
源程序代码如下:
//程序文件名为UseHashtable.java
importjava.util.hashtable;
publicclassUseHashtable
{
publicstaticvoidmain(String[]args)
{
HashtablehScore=newHashtable();
hScore.put("张一","86");
hScore.put("李二","98");
hScore.put("海飞","99");
System.out.println("转换成字符串之后的输
出:
"+hScore.toString());
hScore.put("李二","77");
hScore.remove("张一");
System.out.println("修改并删除之后");
System.out.println("转换成字符串之后的.输出:
"+hScore.toString());
}
}
三、Enumeration接口
实现Enumeration接口的对象生成一系列元素,通过nextElement()方法依次读取下一个元素。
只有以下两个方法:
publicbooleanhasMoreElements()
测试是否还有元素
publicObjectnextElement()
返回枚举的下一个元素。
Enumeration接口及其方法通常与Vector、Hashtable一起连用,用来枚举Vector中的项和Hashtable中的键名,例如:
for(Enumeratione=v.elements();e.hasMoreElements();)
System.out.println(e.nextElement());
例3:
使用Enumeration接口枚举Vector中的对象和Hashtable对象中的键名,并进行输出,结果如图3所示。
源程序代码如下:
//程序文件名UseEnumeration.java
importjava.util.*;
publicclassUseEnumeration
{
publicstaticvoidmain(string[]args)
{
VectorvScore=newVector();
vScore.add("86");
vScore.add("98");
vScore.add(1,"99");
System.out.println("Vector:
"+vScore.toString());
for(Enumeratione=vScore.elements();e.hasMoreElements();)
System.out.println(e.nextElement());
HashtablehScore=newHashtable();
hScore.put("张一","86");
hScore.put("李二","98");
hScore.put("海飞","99");
System.out.println("Hashtable:
"+hScore.toString());
for(Enumeratione=hScore.keys();e.hasMoreElements();)
{
Stringstr=(String)e.nextElement();
System.out.print(str+":
");
System.out.println(hScore.get(str));
}
}
}
四、Date类
Date类用来指定日期和时间,其构造函数及常用方法如下:
publicDate()
从当前时间构造日期时间对象。
publicStringtoString()
转换成字符串。
publiclonggetTime()
返回自新世纪以来的毫秒数,可以用于时间计算。
例4:
测试执行循环花费的时间(数量级为毫秒),具体时间情况如图4所示。
源程序代码如下:
//程序文件名为UseDate.java
importjava.util.Date;
publicclassUseDate
{
publicstaticvoidmain(String[]args)
{
DatedOld=newDate();
longlOld=dOld.getTime();
System.out.println("循环前系统时间为:
"+dOld.toString());
intsum=0
for(inti=0;i<100;i++)
{
sum+=i;
}
DatedNew=newDate();
longlNew=dNew.getTime();
System.out.println("循环后系统时间为:
"+dNew.toString());
System.out.println("循环花费的毫秒数为:
"+(lNew-lOld));
}
}
五、String类
String类用于操作非数值型字符串,它提供了七类方法操作,分别为字符串创建、字符串长度、字符串比较、字符串检索、字符串截取、字符串运算和数据类型转换。
1、字符串创建
publicString()
构造一个空字符串。
publicString(char[]value)
使用字符串数组value中的字符以构造一个字符串。
publicString(Stringoriginal)
使用原字符串original的拷贝以构造一个新字符串。
2、字符串长度
publicintlength()
返回字符串的长度。
3、字符串比较
publicbooleanequals(ObjectanObject)
比较字符串是否与anObject代表的字符串相同(区分大小写)。
publicbooleanequalsIgnoreCase(StringanotherString)
比较字符串是否与anotherString相同(不区分大小写)。
4、字符串检索
publicintindexOF(Stringstr)
返回一个字符串中str第一次出现所在的位置。
publicintindexOf(Stringstr,intfromIndex)
返回从fromIndex开始字符串str出现所在的位置。
5、字符串截取
publicStringsubstring(intbeginIndex,intendIndex)
返回benginIndex到endIndex之间的字符串。
6、字符串运算
运算符为“+”,表示连接运算。
下面的行语句输出连接的字符串
System.out.println("Hashtable:
"+hScore.toString());
例5:
操作字符串,输出结果如图5所示。
源程序代码如下:
//程序文件名为TestString.java
publicclassTestString
{
publicstaticvoidmain(String[]args)
{
Stringstr=newString("ThesubstringbeginsatthespecifiedbeginIndex.");
Stringstr1=newString("string");
Stringstr