Ads by Google

¾åµ­¤Î¹­¹ð¤Ï£±¥ö·î°Ê¾å¹¹¿·¤Î¤Ê¤¤¥Ö¥í¥°¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¿·¤·¤¤µ­»ö¤ò½ñ¤¯»ö¤Ç¹­¹ð¤¬¾Ã¤»¤Þ¤¹¡£
¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯
-- : -- : -- | ¥¹¥Ý¥ó¥µ¡¼¹­¹ð | page top¢¬

Java¤Ç¤âµ¯¤³¤ê¤¦¤ë¥á¥â¥ê¥ê¡¼¥¯

¡ÖEffective Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¬¥¤¥É¡×¤òÆÉ¤ó¤Ç¤¤¤¿¤é¡¢°ÊÁ°¤Î¥¨¥ó¥È¥ê¡ÖJava¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(2/3)¡Ý¥¸¥§¥Í¥ê¥¯¥¹¤Î¼ÂÁõ¡×¤Ç¾Ü²ò¤·¤¿¥¹¥¿¥Ã¥¯¤Î¥×¥í¥°¥é¥à¤Ë¤Ï¥á¥â¥ê¥ê¡¼¥¯¤Î²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤Ëµ¤ÉÕ¤­¤Þ¤·¤¿¡£

Java¤Ç¤Ï¥¬¥Ù¡¼¥¸¡¦¥³¥ì¥¯¥·¥ç¥ó(GC)¤¬¹Ô¤ï¤ì¤ë¤¿¤á¡¢¥á¥â¥ê´ÉÍý¤ò¤¢¤Þ¤ê°Õ¼±¤¹¤ë¤³¤È¤Ê¤¯¥×¥í¥°¥é¥à¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤³¤ËÂ礭¤Ê櫤¬¤¢¤ê¤Þ¤·¤¿¡£

¤Þ¤º¤Ï¡¢¼¡¤Î¥×¥í¥°¥é¥à¡ÊºÆ·Ç¡Ë¤ò¤´Í÷²¼¤µ¤¤¡£¤³¤ì¤ò¸«¤Æ¡¢¤É¤³¤Ë¥á¥â¥ê¥ê¡¼¥¯¤Î²ÄǽÀ­¤¬Àø¤ó¤Ç¤¤¤ë¤«¸«¤Ä¤±¤é¤ì¤ë¤Ç¤·¤ç¤¦¤«¡©

public class MyStack {	
	private T[] stack;
	private int sp; /* stack pointer */
	private final static int DEFAULT_CAPACITY = 10;
	private int capacity;
	
	public MyStack() {
		this(DEFAULT_CAPACITY);
	}
	
	public MyStack(int initialCapacity) {
		capacity = initialCapacity;
		stack = (T[]) new Object[initialCapacity];
	}
	
	public void push(T item) {
		stack[sp++] = item;
		capacityCheck();
	}
	
	public T pop() {
		return stack[--sp];
	}
	
	private void capacityCheck() {
		if(sp >= capacity)
			expandCapacity();
	}

	private void expandCapacity() {
		capacity *= 2;
		Object[] oldStack = stack;
		stack = (T[]) new Object[capacity];
		System.arraycopy(oldStack, 0, stack, 0, sp);
	}
}

¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥¹¥¿¥Ã¥¯¤òÇÛÎó¤Ë¤è¤Ã¤Æ¼ÂÁõ¤·¤Æ¤ª¤ê¡¢push¤µ¤ì¤ë¤¿¤Ó¤Ë¿·¤·¤¤¥ª¥Ö¥¸¥§¥¯¥È¤¬ÇÛÎó¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤­¤Þ¤¹¡£¤½¤·¤Æ¡¢ÇÛÎ󤬤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤ë¤È¡¢expandCapacity¤ò¸Æ¤Ó½Ð¤·¤ÆÇÛÎó¤òÂ礭¤¯¤·¤Þ¤¹¡£

¤·¤«¤·¡¢pop¤µ¤ì¤¿¤È¤­¤Ï¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤ÎÃͤò¥Ç¥¯¥ê¥á¥ó¥È¤·¤Æ¡¢¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬Í×ÁǤòreturn¤¹¤ë¤À¤±¤Ê¤Î¤Ç¡¢¸«¤«¤±¾å¤Ï¥¹¥¿¥Ã¥¯¤«¤éÍ×ÁǤ¬¼è¤ê½ü¤«¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤ÏÇÛÎó¤Ë³ÊǼ¤µ¤ì¤¿¤Þ¤Þ¤Ê¤Î¤Ç»²¾È¤Ï°Ý»ý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¥¬¡¼¥Ù¥¸¡¦¥³¥ì¥¯¥¿¤Ï¤É¤³¤«¤é¤â»²¾È¤µ¤ì¤Æ¤¤¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¤ò²ó¼ý¤ÎÂоݤËÁª¤Ó¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ê¼ÂºÝ¤Ë¤Ï»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¤±¤É»²¾È¤µ¤ì¤¿¤Þ¤Þ¡Ê¢¨¤³¤Î¾õÂÖ¤òEffective Java¤Ç¤Ï¡ÖÇѤ줿»²¾È(obsolete reference)¡×¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡Ë¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï²ó¼ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£

¤³¤¦¤·¤Æ¡¢»È¤ï¤ì¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ë²ó¼ý¤·¤Æ¤â¤é¤¨¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È¤¬Áý¤¨¤Æ¤¤¤¯¤È¡¢¤·¤Þ¤¤¤Ë¤Ï¥á¥â¥ê¥ê¡¼¥¯¤òµ¯¤³¤·¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£¡Ê¢¨¤·¤«¤·¡¢ºÇ¶á¤Î¥Þ¥·¥ó¤Ï¥á¥â¥êÎ̤¬Â¿¤¤¤¿¤á¡¢¤è¤Û¤É»È¤¤¤¹¤®¤Ê¤¤¸Â¤ê¥á¥â¥ê¤¬Â­¤ê¤Ê¤¯¤Ê¤Ã¤Æ»ß¤Þ¤Ã¤Æ¤·¤Þ¤¦²ÄǽÀ­¤Ï¤Ê¤¤¤È»×¤¤¤Þ¤¹¡Ë

¤µ¤Æ¡¢pop¤Î¼ÂÁõ¤ËÌäÂ꤬¤¢¤ë¤³¤È¤Ï¤ï¤«¤ê¤Þ¤·¤¿¤¬¤É¤Î¤è¤¦¤Ë½¤Àµ¤ò¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©¼Â¤Ï´Êñ¤Ç¤¹¡£Íפϡ¢»²¾È¤¬ÇѤ줿¤é¤½¤Î¤³¤È¤òÌÀ¼¨¤¹¤ì¤Ð¤è¤¤¤Î¤Ç¡¢pop¤ÎºÝ¤Ëreturn¤·¤¿Í×ÁǤ¬Æþ¤Ã¤Æ¤¤¤¿Îΰè¤Ënull¤ò¥»¥Ã¥È¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

	public T pop() {
		Object result = stack[--sp];
		stack[sp] = null;
		return result;
	}
Effective Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¬¥¤¥ÉEffective Java ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥¬¥¤¥É
Joshua Bloch

¥Ô¥¢¥½¥ó¡¦¥¨¥Ç¥å¥±¡¼¥·¥ç¥ó 2001-12-03
Çä¤ê¾å¤²¥é¥ó¥­¥ó¥° : 2841
¤ª¤¹¤¹¤áÊ¿¶Ñ

Amazon¤Ç¾Ü¤·¤¯¸«¤ë
by G-Tools
¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯

¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯: ¤³¤Îµ­»ö¤ò¥¯¥ê¥Ã¥×¡ª Yahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÅÐÏ¿

13 : 46 : 13 | ¥×¥í¥°¥é¥ß¥ó¥°¡ÝJava | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0) | page top¢¬
<<Àµ³Î¤ÊÃͤ¬Í׵ᤵ¤ì¤ë·×»»¤Ëfloat,double·¿¤Ï»È¤¨¤Ê¤¤¡ª | ¥Û¡¼¥à | ÂÔ¤Á¹ÔÎó¤ÎM/M/1¥â¥Ç¥ë¤Ë¤ª¤±¤ëÊ¿¶ÑÂں߻þ´ÖWw¤ÎƳ½Ð>>
¥³¥á¥ó¥È

¥³¥á¥ó¥È¤ÎÅê¹Æ














´ÉÍý¼Ô¤Ë¤À¤±É½¼¨¤òµö²Ä¤¹¤ë

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
¢ªhttp://networkprogramming.blog18.fc2.com/tb.php/74-021735ea
¤³¤Îµ­»ö¤Ë¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤¹¤ë(FC2¥Ö¥í¥°¥æ¡¼¥¶¡¼)
| ¥Û¡¼¥à |

¥×¥í¥Õ¥£¡¼¥ë

Author:TBVector

¥×¥í¥Õ¥£¡¼¥ë

¥á¡¼¥ë¥Õ¥©¡¼¥à

µ­»ö¸¡º÷

Google

ºÇ¶á¤Îµ­»ö

¿Íµ¤¤Îµ­»ö

²áµî¤Îµ­»ö

¥«¥Æ¥´¥ê¡¼

¥¿¥°¥é¥ó¥­¥ó¥°

¥ê¥ó¥¯

ºÇ¶á¤Î¥³¥á¥ó¥È

ºÇ¶á¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯

¥¢¥¯¥»¥¹¥«¥¦¥ó¥¿