java¼¯ºÏ
javaÖеÄËÄÖÖÀàÐ͵ļ¯ºÏÀà
£¨1£©Vector £¨2£©BitSet£¨3£©Stack£¨4£©HashTable
2ö¾ÙÆ÷
ÔÚÈκμ¯ºÏÀàÖУ¬±ØÐëͨ¹ýijÖÖ·½·¨ÔÚÆäÖÐÖÃÈë¶ÔÏó£¬ÔÙÓÃÁíÒ»ÖÖ·½·¨´ÓÖÐÈ¡µÃ¶ÔÏó¡£ÔÚVectorÖУ¬addElement()¾ÍÊÇÎÒÃDzåÈë¶ÔÏó²ÉÓõķ½·¨
£¬¶þelementAt()ÔòÊÇÌáÈ¡¶ÔÏóµÄΨһ·½·¨¡£
Iterator¿ÉÒÔ´ïµ½Õâ¸öÄ¿µÄ£¬ËüÊÇÒ»¸ö¶ÔÏó£¬×÷ÓÃÊDZãÀûһϵÁеĶÔÏ󣬲¢Ñ¡ÔñÄǸöÐòÁÐÖеÄÿ¸ö¶ÔÏó£¬Í¬Ê±²»Èÿͻ§³ÌÐòÔ±ÖªµÀ»ò¹Ø×¢ÄǸöÐòÁеÄ
»ù´¡½á¹¹¡£
javaÄÚ²¿“×Ô¶¯×ª»»³É×Ö´®¼¼Êõ”¡£Ò»µ©±àÒëÆ÷Åöµ½Ò»¸ö×Ö´®£¬ºóÃæ¸ú×ÅÒ»¸ö+£¬¾Í»áÏ£ÍûºóÃæ¸úËæ×ÅÒ»¸ö×Ö´®£¬²¢ÇÒ×Ô¶¯µ÷ÓÃtoString()·½·¨£¬ËùÒÔtoString£¨£©·½·¨Ó¦¸ÃÖØÔØ¡£
Èô²»×¢ÒâÉÏÃæµÄʵÀý¾Í»á³öÏÖbug£¬
ÀýÈçÏÂÃæµÄʵÀý
import java.util.* ;
public class Crash{
public String toString(){
return "Crash java" + this ;//´Ë´¦this»áµ÷ÓÃtoString()·½·¨£¬ÒýÆðµÝ¹é
}
public static void main(String [] args){
Vector v = new Vector();
for(int i = 0 ; i < 10 ; i++)
v.addElement(new Crash());
System.out.println(v);
}
}
ÔÚjava6.0ÖУ¬±àÒëÆ÷»á¼ì²é³ö¸Ä´íÎó¡£
3BitSet
BitSetʵ¼ÊÊÇÓÉ“¶þ½øÖÆÎ»”¹¹³ÉµÄÒ»¸öVector£¬×îС³¤¶ÈÊÇ64λµÄ¡£
4Stack
5HashTable
ͨ³£Çé¿öÏÂÉ¢ÁÐÂëÊÇÿ¸ö¶ÔÏóµÄhashCode()·½·¨£¬¶ø¸Ã·½·¨·µ»ØµÄÊÇÿ¸ö¶ÔÏóµÄµØÖ·£¬Èç¹ûÒª½«×Ô¼ºÐ½¨µÄÀà×÷Ϊ¼üÖµ£¬¾ÍÓ¦¸Ã¸²¸ÇhashCode()·½·¨ºÍequals()·½·¨¡£¾ÍÏòÏÂÃæÕ¹Ê¾µÄÄÇÑù ¡£
import java.util.*;
class Prediction{
boolean shadow = Math.random() > 0.5 ;
public String toString(){
if(shadow)
return "Six more weeks of Winter" ;
else
return "Early Spring";
}
}
class Groundhog2{
int ghNumber ;
Groundhog2(int n){
ghNumber = n;
}
public int hashCode(){
return ghNumber ;
}
&nb
Ïà¹ØÎĵµ£º
ÎÊÌâ
ÔÚǰһС½Ú£¬½éÉÜÁËÔÚ¶àÏ̱߳à³ÌÖÐʹÓÃͬ²½»úÖÆµÄÖØÒªÐÔ£¬²¢Ñ§»áÁËÈçºÎʵÏÖͬ²½µÄ·½·¨À´ÕýÈ·µØ·ÃÎʹ²Ïí×ÊÔ´¡£ÕâЩÏß³ÌÖ®¼äµÄ¹ØÏµÊÇÆ½µÈµÄ£¬±Ë´ËÖ®¼ä²¢²»´æÔÚÈκÎÒÀÀµ£¬ËüÃǸ÷×Ô¾ºÕùCPU×ÊÔ´£¬»¥²»ÏàÈ㬲¢ÇÒ»¹ÎÞÌõ¼þµØ×èÖ¹ÆäËûÏ̶߳Թ²Ïí×ÊÔ´µÄÒì²½·ÃÎÊ¡£È»¶ø£¬Ò²ÓкܶàÏÖʵÎÊÌâÒªÇó²»½öҪͬ²½µÄ·ÃÎÊͬһ¹²Ïí×ÊÔ´£¬¶øÇ ......
ÔÚ±àдһ¸öÀàʱ£¬Èç¹û¸ÃÀàÖеĴúÂë¿ÉÄÜÔËÐÐÓÚ¶àÏ̻߳·¾³Ï£¬ÄÇô¾ÍÒª¿¼ÂÇͬ²½µÄÎÊÌâ¡£ÔÚJavaÖÐÄÚÖÃÁËÓïÑÔ¼¶µÄͬ²½ÔÓsynchronized£¬ÕâÒ²´ó´ó¼ò»¯ÁËJavaÖжàÏß³Ìͬ²½µÄʹÓá£
ÎÒÃÇÊ×Ïȱàдһ¸ö·Ç³£¼òµ¥µÄ¶àÏ̵߳ijÌÐò£¬ÊÇÄ£ÄâÒøÐÐÖеĶà¸öÏß³Ìͬʱ¶Ôͬһ¸ö´¢ÐîÕË»§½øÐдæ¿î¡¢È¡¿î²Ù×÷µÄ¡£
¡¡¡¡ÔÚ³ÌÐòÖÐÎÒÃÇÊ¹Ó ......
ͨ³£,ÓÐÒ»ÀàÎÊÌâµÄ²úÉú¶¼ÊÇÓÉÓÚûÓÐÖØÔØhashCodeÕâ¸ö·½·¨. µ±ÄãÖØÔØequalsºó,hashCode±ØÐëÖØÔØ,·ñÔòÔÚʹÓÃHashMap, HashSet, HashtableµÄʱºò,»á³ö´í.
¶ÔÓÚhashCodeÓм¸¸öÔÔò.
1. ²»¹Üʲôʱºòµ÷ÓÃhashCode,Èç¹ûͬһ¸ö¶ÔÏóÓëhashCodeÏà¹ØµÄ×Ö¶ÎûÓÐÐ޸ĵϰ,Õâ¸ö·½·¨µÄ·µ»ØÖµ±ØÐëÏàͬ. µ«²»±ØºÍÁíÒ»¸öÓ¦ÓóÌÐòÖеÄÖµÏàµÈ ......
¾¡Á¿¸´ÓöÔÏ󣬶ø²»ÊÇ´´½¨ÐµĶÔÏó£¬ÌرðÊǵ±Ò»¸ö¶ÔÏóÊÇimmutable£¨²»¿É¸Ä±ä£©µÄʱºò¡£
ÈçString¶ÔÏó£¬
String s= new String(“String”); ǧÍò²»ÒªÕâÑù×ö£¬ÒòΪÕâÀïʵ¼ÊÉÏ´´½¨ÁËÁ½¸ö¶ÔÏó¡£
Òª±ÜÃâ³öÏÖÕâÑùµÄÇé¿ö£¬
1ÊÇ¿ÉÒÔÓþ²Ì¬¹¤³§º¯Êý£¬À´½â¾ö£¬ÈçÀà¿âÖеÄBoolean.valueOf(“true&rdqu ......
µ±ÖØÔØequals·½·¨Ê±,×ñѹßÀý.
equals²»ÊÇÿ¸öÀà¶¼±ØÐëÖØÔØ,µ±ÒÔϼ¸¸öÌõ¼þÂú×ã,¿ÉÒÔ²»ÖØÔØequals.
1. ÀàµÄʵÀýÖ»ÓÐͬһ¸ö²Å±»ÅÐΪÏàµÈ. ÈçThreadÀà.
2. ²»ÓùØÐÄÁ½¸ö¶ÔÏóÊÇ·ñÂß¼ÏàµÈµÄʱºò,»òÊÇ˵±È½Ï¶ÔÏóûÓÐÒâÒå.
3.¸¸ÀàÒÑ¾ÖØÔØÁËequals,¶øÇÒ¸¸ÀàµÄequalsÒ²ÊÊÓÃÓÚ×ÓÀà,×ÓÀà¾Í²»ÓÃÖØÔØequals.
4.ÕâÊÇÒ»¸ö˽ÓÐÀà»òÊ ......