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个元素。
Vector类中添加、删除对象的方法如下:
public void add(int index, Object element)//在index位置添加对象element。
public boolean add(Object o)//在Vector的末尾添加对象o。
public Object remove(int index)//删除index位置的对象,后面的对象依次前提。
Vector类中访问、修改对象的方法如下:
public Object get(int index)//返回index位置对象。
public Object set(int index, Object element)//修改index位置的对象为element。
其它方法:
public String toString()//将元素转换成字符串。
public int size()//返回对象的长度。
2.HashTable类
HashTable存储的是键值对 key-value
Hashtable hashTable = new Hashtable();
hashTable.put("1", "张三");
hashTable.put("2", "李四");
hashTable.put("3", "王二");
hashTable.put("4", "赵武");
System.out.println(hashTable.toString());
hashTable.put("5", "钱六");
System.out.println(hashTable.toString());
hashTable.remove("3");
System.out.println(hashTable.toString());
System.out.println(hashTable.get("2"));
System.out.println(hashTable.size());
3.Enumeration接口
实现Enumeration接口的对象生成一系列元素,通过nextElement()方法一次读取下一个元素。
public boolean hasMoreElements()
测试是否还有元素。
public Object nextElement()
返回枚举的下一个元素。
Enumeration接口及其方法通常与Vector、Hashtable一起连用,用来枚举Vector中的项和Hashtable中的键名
Vector vectorScore = new Vector();
vectorScore.add("86");
vectorScore.add("90");
vectorScore.add(1, "99");
System.out.println(vectorScore.toString());
for (Enumeration enumeration = vectorScore.elements(); enumeration
.hasMoreElements();) {
System.out.println(enumeration.nextElement());
}
Hashtable hashScore = new Hashtable();
hashScore.put("1", "86");
hashScore.put("2", "95");
hashScore.put("3", "96");
System.out.println(hashScore.toString());
for (Enumeration enumeration = hashScore.keys(); enumeration
.hasMoreElements();) {
String string = (String) enumeration.nextElement();
System.out.print(string + ":");
System.out.println(hashScore.get(string));
}
4.Date类和Calendar类
Date类用来指定日期和时间,其构造函数及常用方法如下:
public Date()
从当前时间构造日期时间对象。
public String toString()
转换成字符串。
public long getTime()
返回自新世纪以来的毫秒数,可以用于时间计算。
Date date = new Date();
// 返回自新世纪以来的毫秒数,可以用于时间计算
long longTime = date.getTime();
System.out.println(longTime);
int sum = 0;
for (int i = 0; i < 100000; i++) {
sum += 1;
}
Date date2 = new Date();
long longTime2 = date2.getTime();
System.out.println(longTime2);
System.out.println("循环花费的时间为" + (longTime2 - longTime) + "毫秒");
}
Calendar calendar = Calendar.getInstance();
System.out.println("Calendar.YEAR:"+calendar.get(Calendar.YEAR));
System.out.println("Calendar.MONTH:"+calendar.get(Calendar.MONTH));
System.out.println("Calendar.DATE:"+calendar.get(Calendar.DATE));
System.out.println("Calendar.AUGUST:"+calendar.get(Calendar.AUGUST));
System.out.println("Calendar.DAY_OF_MONTH:"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("Calendar.DAY_OF_WEEK:"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("Calendar.DAY_OF_WEEK_IN_MONTH:"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("Calendar.DAY_OF_YEAR:"+calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("Calendar.DECEMBER:"+calendar.get(Calendar.DECEMBER));
System.out.println("Calendar.FRIDAY:"+calendar.get(Calendar.FRIDAY));
System.out.println("Calendar.HOUR:"+calendar.get(Calendar.HOUR));
System.out.println("Calendar.HOUR_OF_DAY:"+calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("Calendar.MILLISECOND:"+calendar.get(Calendar.MILLISECOND));
System.out.println("Calendar.WEEK_OF_MONTH:"+calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("Calendar.WEEK_OF_YEAR:"+calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("Calendar.WEDNESDAY:"+calendar.get(Calendar.WEDNESDAY));
System.out.println("Calendar.ZONE_OFFSET:"+calendar.get(Calendar.ZONE_OFFSET));
calendar.set(2001, 2, 23, 3, 23, 22);
System.out.println(calendar.getTime());
calendar.roll(Calendar.YEAR, 1);
System.out.println(calendar.getTime());
calendar.roll(Calendar.MONTH, 1);
System.out.println(calendar.getTime());
calendar.roll(Calendar.DATE, 1);
System.out.println(calendar.getTime());
5.String类
String类用于操作非数值型字符串,它提供了七类方法操作,分别为字符串创建、字符串长度、字符串比较、字符串检索、字符串截取、字符串运算和数据类型转换。
字符串创建
public String()
构造一个空字符串。
public String(char[] value)
使用字符数组value中的字符以构造一个字符串。
public String(String original)
使用原字符串original的拷贝以构造一个新字符串。
字符串长度
public int length()
返回字符串的长度。
字符串比较
public boolean equals(Object anObject)
比较字符串是否与anObject代表的字符串相同(区分大小写)。
public boolean equalsIgnoreCase(String anotherString)
比较字符串是否与anotherString相同(不区分大小写)。
6.数据类型转换
各种原始数据类型与String类型之间可以通过方法相互转换。
valueOf()系列的静态方法用于从其它对象(原始数据类型对象)转换成字符串。
System.out.println(String.valueOf(true));
System.out.println(String.valueOf('a'));
System.out.println(String.valueOf(12));
System.out.println(String.valueOf(new Date().getTime()));
float f = 9.99f;
System.out.println(String.valueOf(f));
double d = 9999.9999;
System.out.println(String.valueOf(d));
System.out.println(Integer.parseInt("25"));
System.out.println(Float.parseFloat("10.25f"));
System.out.println(Double.parseDouble("2.36"));
System.out.println(Byte.parseByte("0"));
short s = Short.parseShort("0");
String str = "abc";
char a = str.charAt(1);
String str2 = "true";
Boolean boolean1 = Boolean.valueOf(str2);
7.Collection接口
Collection c = new ArrayList();
c.add("孙悟空");
c.add(6);
System.out.println(c.size());
c.remove(6);
System.out.println(c.size());
System.out.println(c.contains("孙悟空"));
c.add("java");
System.out.println(c);
Collection books = new HashSet();
books.add("水浒传");
books.add("西游记");
System.out.println(c.contains(books));
c.removeAll(books);
System.out.println(c);
c.clear();
System.out.println(c);
books.retainAll(c);
//books集合里只剩下c集合里也包含的元素
System.out.println(books);
8.使用Iterator接口遍历集合元素
Collection books = new HashSet();
books.add("西游记");
books.add("水浒传");
books.add("三国演义");
Iterator iterator = books.iterator();
while (iterator.hasNext()) {
String book = (String) iterator.next();
Object object = (Object) iterator.next();
System.out.println(object);
if (object.toString().equals("水浒传")) {
//从集合中删除上一次next方法返回的元素
iterator.remove();
//使用Iterator迭代的过程中,不可修改集合元素,此处会抛异常
//books.remove(book);
}
book = "测试";
}
System.out.println(books);
}
9.使用foreach循环遍历集合元素
Collection books = new HashSet();
books.add(new String("水浒传"));
books.add(new String("三国演义"));
books.add(new String("西游记"));
for (Object object : books) {
String book = (String) object;
System.out.println(book);
if (book.equals("三国演义")) {
//使用foreach来循环迭代访问集合元素时,该集合也不能被改变,下面的代码会平抛异常
//books.remove(object);
}
}
System.out.println(books);
10.Set集合
Set books = new HashSet();
books.add(new String("西游记"));
//Set判断两个对象相同不是使用的==运算符,而是使用的equals方法
boolean result = books.add(new String("西游记"));
System.out.println(result);
System.out.println(books);
11.HashSet类
HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较想的,并且两个对象的hashCode方法返回值也相等。
class A {
public boolean equals(Object object) {
return true;
}
}
class B {
public int hashCode() {
return 1;
}
}
class C {
public int hashCode() {
return 2;
}
public boolean equals(Object object) {
return true;
}
}
public class HashSetTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet books = new HashSet();
books.add(new A());
books.add(new A());
books.add(new B());
books.add(new B());
books.add(new C());
books.add(new C());
System.out.println(books);
}
}
转载于:https://blog.51cto.com/shamrock/1369654