JavaÖÐHashMap£¬HashtableºÍLinkedList
½ñÌìÅöµ½Ò»¸öºÜÓÐÒâ˼µÄÎÊÌ⣬¾ÍÊǹØÓÚʹÓÃLinkedList×÷ΪHashMap»òÕßHashtableµÃkey£¬µ«ÊÇ×îºó·¢ÏÖÊý¾Ý²¢Ã»ÓÐ´æ½øÈ¥¡£
Ê×ÏÈ˵һÏÂHashMap£¬Hashtable°É£¬ËüÃǶ¼¼Ì³ÐÁËCloneable, Map, Serializable¡£ËüÃÇÁ½¸ö»ù±¾ÉÏÊÇÒ»ÑùµÄ£¬“The HashMap
class is roughly equivalent to Hashtable
, except that it is
unsynchronized and permits nulls.”¡£Çø±ð¾ÍÊÇHashMapÔÊÐí“ null
values and the null
key”£¬Í¬Ê± unsynchronized¡£ËüµÄÐÔÄÜÈ¡¾öÓÚ“ initial capacity
and load factor
”£¬¾ßÌå²Î¿¼¹Ù·½Îĵµ¡£HashMap»¹ÓÐÒ»¸öÌØÐÔ¾ÍÊDz»Äܱ£Ö¤´æÈëµÄÔªËØµÄ˳Ðò£¬“HashMap does not guarantee that the order
will remain constant over time¡£” ¶ÔÓÚ´æÈëµ½ÀïÃæµÄkey£¬ÒªÇó“To successfully store and retrieve objects from a hashtable, the
objects used as keys must implement the hashCode
method and the equals
method. ”¡£¸ü¾ßÎҵIJâÊÔ£¬ÆäʵÕâ¸ö¶ÔÓÚHashMapÒ²ÊÇÊÊÓõġ£
Õâ¸ö¾ÍºÍÎÒ½ñÌìÅöµ½µÄÎÊÌâÁªÏµÉÏÁË£¬LinkedListÀàÀïÃæµÄhashCode()º¯ÊýÀ´Ô´ÓÚList.hashCode()£¬¾ßÌåÈçÏ£º
int hashCode = 1;
Iterator<E> i = list.iterator();
while (i.hasNext()) {
E obj = i.next();
hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());
}
Ò²¾ÍÊÇ˵hashCodeÒÀÀµÓÚÄÚ²¿´æ´¢µÄ¶ÔÏó£¬Ç¡ºÃÎÒ´æ´¢µÄÊÇÒ»¸ö³éÏóÀ࣬ÒÔ·½±ãʵÏÖ¶à̬ÐÔ£¬ËùÒÔ²¢Ã»ÓÐʵÏÖhashCodeº¯Êý¡£Èç¹û´æ´¢µÄÊÇÀàËÆStringµÄ»ù±¾Êý¾ÝÀàÐÍ»òÕßÊÇʵÏÖÁËhashCodeº¯ÊýµÄ¶ÔÏó¾Í¿ÉÒÔÁË¡£
×îºó»¹ÓÐÒ»¸öºÍHashMapÓеãÈÝÒ×»ìÏýµÄÀà¾ÍÊÇTreeMap¡£Ëü¼Ì³ÐÁË“Serializable, Cloneable, Map<K,V>, SortedMap<K,V>”£¬ÊÇSortedMap½Ó¿ÚÀàΨһµÄʵÏÖ¡£Ëü±¾ÖÊÉÏÊÇ“Red-Black tree”£¬ÀïÃæ´æ´¢µÄkeyÊÇÉýÐòÅÅÁе쬓ascending key order”¡£
²Î¿¼£º
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedList.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/TreeMap.html
http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedMap.html
Ïà¹ØÎĵµ£º
1.ʵÀý³ÉÔ±ºÍÀà³ÉÔ±
ʵÀý³ÉÔ±ÖÐÊÇÊôÓÚ¶ÔÏóµÄ,°üÀ¨ÊµÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨,Ö»Óд´½¨Á˶ÔÏóÖ®ºó²ÅÄÜ·ÃÎÊʵÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨.
Àà³ÉÔ±ÊÇÊôÓÚÀàµÄ,Àà³ÉÔ±ÐèÒªÓùؼü×Östatic±êʶ,Ò²³ÆÎª¾²Ì¬³ÉÔ±,Àà³ÉÔ±°üÀ¨Àà³ÉÔ±±äÁ¿ºÍÀà³ÉÔ±·½·¨,ͨ¹ýÀàÃû¿ÉÒÔÖ±½Ó·ÃÎÊÀà³ÉÔ±±äÁ¿ºÍµ÷ÓÃÀà³ÉÔ±·½·¨,¼´Ê¹Ã»Óд´½ ......
ͨ¹ý DAOFactory µÄ·ºÐÍд·¨À´ÑÝʾJava·ºÐ͵ÄÌØÊâÓ÷¨
СÐÍÏîÄ¿Öг£³£¶¼Ã»ÓÐÓÃÈý·½³Ö¾Ã»¯¿ò¼Ü£¬¶ø´ó¶¼ÊÇÓù«Ë¾»ò×ÔÐÐÒÀ¾ÝDAOģʽ·â×°µÄһЩ×é¼þÀ´Íê³ÉÊý¾Ý¿â³Ö¾Ã»¯¶¯×÷£¬²¢ÇÒ£¬Í¨³£ÎªÁ˸ü¾ß¿ÉÀ©Õ¹ÐÔ£¬³£³£Ê¹ÓóéÏ󹤳§Ä£Ê½À´½âñîºÏ¡£
Ò»¡¢ÏÈ¿´´úÂë
1¡¢¼òµ¥¹¤³§´úÂë
/************************************************* ......
ʵÏÖ²½Ö裺
1.×Ô¶¨ÒåÒ»¸öJavaÀ࣬¸ÃJavaÀàÖж¨ÒåÒ»¸ö·½·¨À´°üº¬ÐèÒª±»ÔËÐеĴúÂë¡£
2.¶¯Ì¬±àÒë¸Õ¸ÕÉú³ÉµÄJavaÔ´Â룬²»ÔÚ´ÅÅÌÉÏÉú³ÉÔ´Â룬¶øÊÇÖ±½Ó±àÒëÄÚ´æÖеÄJavaÔ´Âë¡£
3.¶¯Ì¬¼ÓÔØ¸Õ¸Õ´´½¨±àÒëµÄJava¶þ½øÖÆÂ룬±àÒëºÃµÄJava¶þ½øÖÆÂë²»ÊÇÔÚ´ÅÅÌÉÏ£¬¶øÊÇ·ÅÔÚÄÚ´æÖУ¬²¢¶¨Òå×Ô¼ºµÄÀà¼ÓÔØÆ÷£¬¸ºÔð¼ÓÔØÄÚ´æÖеÄclassÎļþ¡£
......
ÔÚJavaÖУ¬µ±Ò»¸ö¶ÔÏó±»´´½¨Ê±£¬³ÉÔ±±äÁ¿µÄ³õʼ»¯¼°¹¹Ôì·½·¨µÄµ÷ÓÃ×ñÑÒÔÏÂ˳Ðò£º
1. ½«·ÖÅ䏸¶ÔÏóµÄ´æ´¢¿Õ¼ä³õʼ»¯³É¶þ½øÖƵÄÁã¡£
2. µ÷ÓÃËùÓлùÀàµÄ¹¹Ôì·½·¨¡£Õâ¸ö²½Öè»á²»¶ÏµØ·´¸´µÝ¹éÏÂÈ¥£¬Ê×ÏÈÊǹ¹ÔìÕâÖÖ²ã´Î½á¹¹µÄ¸ù£¬È»ºóÊÇÏÂÒ»²ã×ÓÀ࣬µÈµÈ£¬Ö±µ½×îµ×²ãµÄ×ÓÀà¡£
3. °´ÕÕÉùÃ÷µÄ˳Ðòµ÷ÓóÉÔ±µÄ³õʼ»¯·½·¨¡£
4. µ÷ ......