1 Vector类
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.1 Vector类中添加、删除对象的方法如下:
public void add(int index, Object element) 在index位置添加对象element。
public boolean add(Object o) 在Vector的末尾添加对象o。
public Object remove(int index) 删除index位置的对象,后面的对象依次前提。
1.2 Vector类中访问、修改对象的方法如下:
public Object get(int index) 返回index位置对象。
public Object set(int index, Object element) 修改index位置的对象为element。
1.3 其它方法:
public String toString() 将元素转换成字符串。
public int size() 返回对象的长度。
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() 转换成字符串。
例:
1 package test;
2
3 import java.util.IdentityHashMap;
4 import java.util.Map;
5 import java.util.Map.Entry;
6
7 public class UseHashtable {
8 public static void main(String[] args) {
9
10 String str1 = new String("xx");
11 String str2 = new String("xx");
12 // System.out.println(str1 == str2);
13
14 Map<String ,String> map = new IdentityHashMap<String ,String>();
15 map.put(str1, "hello");
16 map.put(str2, "world");
17
18 for(Entry<String,String> entry : map.entrySet())
19 { /*map.entrySet()是将map里的每一个键值对取出来封装成一个Entity对象存到一个Set里面。
20 Entry<String,String>的意思是一个泛型,分别是allrecordmap的key和value。*/
21
22 System.out.println(entry.getKey()+" " + entry.getValue());
23 }
24 /* System.out.println(" containsKey---> " + map.containsKey("xx"));
25 System.out.println("str1 containsKey---> " + map.containsKey(str1));
26 System.out.println("str2 containsKey---> " + map.containsKey(str2));
27 System.out.println(" value----> " + map.get("xx"));
28 System.out.println("str1 value----> " + map.get(str1));
29 System.out.println("str2 value----> " + map.get(str2)); */
30
31 }
32 }
3 Enumeration接口
用来遍历集合中的元素 但是枚举Enumeration只提供了遍历Vector和Hashtable类型集合元素的功能这种类型的集合对象通过调用elements()方法获取一个Enumeration对象,
然后Enumeratino对象再调用以下方法来对集合中的元素进行遍历。实现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());
4 Date类
Date类用来指定日期和时间,其构造函数及常用方法如下:
public Date() 从当前时间构造日期时间对象。
public String toString() 转换成字符串。
public long getTime() 返回自新世纪以来的毫秒数,可以用于时间计算。
例:Date t = new Date();
long t1=t.getTime();
1 package test; 2 3 import java.math.BigInteger; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 8 9 public class UseDate { 10 11 public static void main(String[] args) { 12 // TODO 自动生成的方法存根 13 BigInteger cBigInteger=BigInteger.valueOf(1); 14 15 Date dOld = new Date(); 16 SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 17 long lOld=dOld.getTime(); 18 System.out.println(time.format(lOld)); 19 20 for(int i=1;i<51;i++) { 21 cBigInteger=cBigInteger.multiply(BigInteger.valueOf(i)); 22 } 23 System.out.println(cBigInteger); 24 Date NewTime1 = new Date(); 25 long NewTime=NewTime1.getTime(); 26 SimpleDateFormat time1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 27 System.out.println(time1.format(NewTime)); 28 System.out.print(NewTime-lOld); 29 30 } 31 32 }
输出结果:
2016-04-29 09:13:47.917
30414093201713378043612608166064768844377641568960512000000000000
2016-04-29 09:13:47.948
31
5 String类
String类用于操作非数值型字符串,它提供了七类方法操作,分别为字符串创建、字符串长度、字符串比较、字符串检索、字符串截取、字符串运算和数据类型转换。
1. 字符串创建
public String() 构造一个空字符串。
public String(char[] value) 使用字符数组value中的字符以构造一个字符串。
public String(String original) 使用原字符串original的拷贝以构造一个新字符串。
2. 字符串长度
public int length() 返回字符串的长度。
3. 字符串比较
public boolean equals(Object anObject) 比较字符串是否与anObject代表的字符串相同(区分大小写)。
public boolean equalsIgnoreCase(String anotherString) 比较字符串是否与anotherString相同(不区分大小写)。
4. 字符串检索
public int indexOf(String str) 返回一个字符串中str第一次出现所在的位置。
public int indexOf(String str, int fromIndex) 返回从fromIndex开始字符串str出现所在的位置。
5. 字符串截取
public String substring(int beginIndex, int endIndex) 返回benginIndex到endIndex之间的字符串。
6. 字符串运算
运算符为“+”,表示连接运算,语句输出连接的字符串。 System.out.println("Hashtable:" + hScore.toString());
7. 数据类型转换
各种原始数据类型与String类型之间可以通过方法相互转换。 valueOf()系列的静态方法用于从其它对象(原始数据类型对象)转换成字符串。例如:
public static String valueOf(Boolean b)
public static String valueOf(char c)
public static String valueOf(int i)
public static String valueOf(long l)
public static String valueOf(float f)
public static String valueOf(double d)
具体实例如下:
(1) 从int转换到String。
例如:
int intvar = 1;
String strvar;
strvar = String.valueOf (intvar); //"1"
(2) 从String转换到int、float、long、double。
例如:
String intstr = "10";
String fltstr = "10.1f";
String longstr = "99999999";
String dblstr = "99999999.9";
int i = Integer.parseInt(intstr); //10
float f = Float.parseFloat(fltstr); //10.1
long lo = Long.parseLong(longstr); //99999999
double d = Double.parseDouble(dblstr); //9.99999999E7
(3) 从String转换到byte、short。
例如:
String str = "0";
byte b = Byte.parseByte(str); //0
short sh = Short.parseShort(str);//0
(4) 从String转换到char。
例如:
String str = "abc";
char a = str.charAt(0);//返回字符a
(5) 从String转换到boolean。
例如:
String str = "true";
Boolean flag = Boolean.valueOf(str);//true
6 StringBuffer类
StringBuffer类提供了一个字符串的可变序列,类似于String类,但它对存储的字符序列可以任意修改,使用起来比String类灵活得多。它常用的构造函数为:
StringBuffer() 构造一个空StringBuffer对象,初始容量为16个字符。
StringBuffer(String str) 构造一个StringBuffer对象,初始内容为字符串str的拷贝。
对于StringBuffer类,除了String类中常用的像长度、字符串截取、字符串检索的方法可以使用之外,还有两个较为方便的方法系列,即append方法系列和insert方法系列。
(1) append方法系列根据参数的数据类型在StringBuffer对象的末尾直接进行数据添加。
public StringBuffer append(boolean b)
public StringBuffer append(char c)
public StringBuffer append(char[] str)
public StringBuffer append(char[] str, int offset, int len)
public StringBuffer append(double d)
public StringBuffer append(float f)
public StringBuffer append(int i)
public StringBuffer append(long l)
public StringBuffer append(Object obj)
public StringBuffer append(String str)
public StringBuffer append(StringBuffer sb)
(2) insert方法系列根据参数的数据类型在StringBuffer的offset位置进行数据插入。
public StringBuffer insert(int offset, boolean b)
public StringBuffer insert(int offset, char c)
public StringBuffer insert(int offset, char[] str)
public StringBuffer insert(int index, char[] str, int offset, int len)
public StringBuffer insert(int offset, double d)
public StringBuffer insert(int offset, float f)
public StringBuffer insert(int offset, int i)
public StringBuffer insert(int offset, long l)
public StringBuffer insert(int offset, Object obj)
public StringBuffer insert(int offset, String str)
(3) 下面这个方法用于将stringbuffer对象的数据转换成字符串:
public String toString()
7 StringTokenizer类
StringTokenizer类是一个实现Enumeration接口的类,它使得应用程序可以将字符串分成多个记号,默认情况下以空格为分隔符,例如将字符串“this is a test”分成四个单词记号。
用户也可以指定分隔符。分隔符为false,分割字符串;分隔符为true,则将分隔符自身作为分割后的字符串的一部分。其构造函数和常用方法如下:
StringTokenizer(String str) 以字符串str构建StringTokenizer对象。
StringTokenizer(String str, String delim) 使用delim分隔符,以初始字符串str构建StringTokenizer对象。
int countTokens() 返回识别的总记号数。
boolean hasMoreTokens() 测试是否还有识别的记号。
boolean nextToken(String delim) 返回字符串delim分隔的下一个记号。
String nextToken() 返回下一个识别的记号。