L p trình bao bc (wrapper class)
B ng 4.8 Các ph ngth cl p Hashtable.
Ch ng trình sau s d ng l p Hashtable. Trong ch ng trình này, tên c a các t p nh là các khố, và các n m là các ph n t .
“contains” đ c s d ng đ tra c u ph n t nguyên 1969, đ th y cĩ danh sách ch a b t k các t p nh t 1969.
“containsKey” đ c s d ng đ tìm ki m cho khố “Animals”, đ nhìn th y n u t p nh đĩ t o nên danh sách.
Ph ng th c “get()”đ c s d ng đ truy l c t p nh “Wish You Were Here” cĩ trong b ng b m khơng. Ph ng th c get() tr v ph n t k t h p v i khố, c hai tên và n m đ c hi n th t i đi m này.
Ch ng trình 4.12
import java.util.*;
{
public static void main(String args[]) {
//t o m t b ng b m m i
Hashtable ht = new Hashtable();
//thêm các t p nh t t nh t c a Pink Floyd ht.put(“Pulse”, new Integer(1995));
ht.put(“Dark Side of the Moon”, new Integer(1973)); ht.put(“Wish You Were Here”, new Integer(1975)); ht.put(“Animals”, new Integer(1997));
ht.put(“Ummagumma”, new Integer(1969)); //Hi n th b ng b m
System.out.println(“Initailly: “+ht.toString()); //ki m tra cho b t k t p nh nào t 1969 if(ht.contains(new Integer(1969)))
System.out.println(“An album from 1969 exists”); //ki m tra cho t p nh các con thú
if(ht.containsKey(“Animals”));
System.out.println(“Animals was found”); //Tìm ra
Integer year = (Integer)ht.get(“Wish You Were Here”);
System.out.println(“Wish you Were Here was released in”+year.toString()); //Xố m t t p nh
System.out.println(“Removing Ummagumma\r\n”); ht.remove(“Ummagumma”);
//Di chuy n thơng qua m t b ng li t kê c a t t c các khố trong b ng. System.out.println(“Remaining:\r\n”);
for(Enumeration enum = ht.keys(); enum.hasMoreElements();) System.out.println((String)enum.nextElement());
} }
Core Java
Hình 4.4 Quá trình hi n th k t qu c a HashTableImplementer 4.7.2 L p random
L p này đ i di n m t b t o s gi ng u nhiên (pseudo-random). Hai ph ng th c xây d ng
đ c cung c p. M t trong nh ng ph ng th c xây d ng này l y giá tr kh i đ u nh m t tham s . Ph ng th c xây d ng khác thì khơng l y giá tr nh m t tham s , và s d ng th i gian hi n t i nh m t giá tr kh i đ u. Vi c xây d ng m t b t o s ng u nhiên v i m t giá tr kh i đ u là m t ý ki n hay, tr khi b n mu n b t o s ng u nhiên luơn t o ra m t t p các giá tr gi ng nhau. M t khác, th nh tho ng nĩ h u d ng đ t o ra trình t gi ng nhau c a các s random. i u này cĩ ý ngh a trong vi c g r i m t ch ng trình. M t khi b t o s ng u nhiên đ c t o ra, b n cĩ th s d ng b t k các ph ng th c sau đây đ truy l c m t giá tr t nĩ: nextDouble() nextFloat() nextGaussian() nextInt() nextLong()
Các ph ng th c xây d ng và các ph ng th c c a l p Random đ c tĩm t t trong b ng sau:
Ph ng th c M c đích
random() t o ra m t b t o s ng u nhiên m i
random(long) T o ra m t b t o s ng u nhiên m i d a trên giá tr kh i t o đ c ch đ nh.
nextDouble() Tr v m t giá tr ki u double k ti p gi a 0.0D đ n 1.0D t b t o s ng u nhiên.
nextFloat() Tr v m t giá tr ki u float k ti p gi a 0.0F và 1.0F t b t o s ng u nhiên.
nextGaussian() Tr v ki u double đ c phân ph i Gaussian k ti p t b t o s ng u nhiên. T o ra các giá tr Gaussian s cĩ m t giá tr trung bình c a 0, và m t đ l ch tiêu chu n c a 1.0.
nextInt() Tr v giá tr ki u Integer k ti p t m t b t o s ng u nhiên.
nextLong() Tr v giá tr ki u long k ti p t m t b t o s ng u nhiên.
setSeed(long) Thi t l p giá tr kh i t o t b t o s ng u nhiên.
B ng 4.9 Các ph ng th c l p Random. 4.7.3 L p Vector