¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ  Á¦6Àå ¹è¿­ Ä÷º¼Ç ¿­°ÅÀÚ  6.4.4 Vector¿Í HashtableÀÇ °Ë»ö  

 

 

6.4.4 ¿­°ÅÀÚ¸¦ ÀÌ¿ëÇÑ Vector¿Í HashtableÀÇ °Ë»ö

°´Ã¼ÀúÀåÀ» À§ÇÑ Å¬·¡½ºµéÀ» ÀÌ¿ëÇÒ ¶§ °Ë»öÀ» ¿ëÀÌÇÏ°Ô Çϱâ À§ÇÑ ¸ñÀûÀ¸·Î ¿­°ÅÀÚ¸¦ »ç¿ëÇÕ´Ï´Ù. ¿­°ÅÀÚ ÀÎÅÍÆäÀ̽º´Â Á¤¸» º° °Í ¾ø½À´Ï´Ù. µ¥ÀÌÅ͸¦ ¼ø¼­´ë·Î ÃßÃâÇÒ ¼ö ÀÖ´Â ¸Þ¼­µå À̿ܿ¡´Â ÀüÇô Æ÷ÇÔÇϰí ÀÖ´Â °ÍÀÌ ¾ø½À´Ï´Ù. ±×°Íµµ ¸î °³ µÇÁöµµ ¾Ê½À´Ï´Ù. ¿­°ÅÀÚÀÇ ´ëÇ¥ÀûÀÎ ÀÎÅÍÆäÀ̽º´Â Enumeration°ú Iterator°¡ ±× ´ëÇ¥ÀûÀÎ ¿­°ÅÀÚÀÔ´Ï´Ù.

 

    Iterator ÀÎÅÍÆäÀ̽ºÀÇ ¸â¹ö ¸Þ¼­µå

n        boolean hasNext ()

´ÙÀ½ ¿ä¼Ò°¡ ÀÖ´ÂÁö ¾ø´ÂÁö È®ÀÎÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ÀÖ´Ù¸é true, ¾ø´Ù¸é falseÀÔ´Ï´Ù.

n        Object  next ()

¿ä¼Ò°¡ ³²¾Æ ÀÖ´Â °æ¿ì´Â, ´ÙÀ½ ¿ä¼Ò¸¦ ¾ò¾î³»´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.

n        void remove ()

             ¹Ýº¹ÀÚ¿¡ ÀÇÇØ ¸¶Áö¸·¿¡ µ¹·ÁÁÖ¾îÁø ¿ä¼Ò¸¦ »èÁ¦ÇÕ´Ï´Ù

   

Enumeration ÀÎÅÍÆäÀ̽º ¸â¹ö¸Þ¼­µå

n        boolean hasMoreElements ()

´ÙÀ½ ¿ä¼Ò°¡ ÀÖ´ÂÁö ¾ø´ÂÁö È®ÀÎÇÏ´Â ¸Þ¼­µåÀÔ´Ï´Ù. ÀÖ´Ù¸é true, ¾ø´Ù¸é falseÀÔ´Ï´Ù.

n        Object  nextElement ()

 ¿ä¼Ò°¡ ³²¾Æ ÀÖ´Â °æ¿ì´Â, ´ÙÀ½ ¿ä¼Ò¸¦ ¾ò¾î³»´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.

 

Iterator¿Í EnumerationÀº ¶È°°Àº ¿ªÇÒÀ» ÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ÇÏÁö¸¸, EnumerationÀÌ À̸§ÀÌ ±æ´Ù´Â ¹®Á¦Á¡ ¶§¹®¿¡ Iterator¸¦ 1.2¹öÀü¿¡¼­ ¸¸µé¾ú´Ù°í ÇÕ´Ï´Ù. ±×·±µ¥ º¸ÅëÀÇ ÇÁ·Î±×·¡¸ÓµéÀº 1.0¹öÀü¿¡¼­ »ç¿ëÇÏ´ø EnumerationÀ» ´õ ¸¹ÀÌ »ç¿ëÇÏ´Â °Í °°½À´Ï´Ù. ¿©ÇÏÆ° µÎ ÀÎÅÍÆäÀ̽º´Â ¶È °°Àº ¿ªÇÒÀ» ÇÕ´Ï´Ù.

 

Iterator¿Í EnumerationÀº ÀÎÅÍÆäÀ̽ºÀ̱⠶§¹®¿¡ ½º½º·Î´Â Ŭ·¡½º¸¦ »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. ¹°·Ð, ¿©·¯ºÐÀÌ ±¸ÇöÀ» ÇÑ´Ù¸é ¾î¿ ¼ö ¾ø°ÚÁö¿ä. º¸ÅëÀÇ °æ¿ì¿¡´Â Iterator¿Í EnumerationÀ» Vector¿Í Hashtableµî¿¡¼­ ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© return¹Þ´Â Çü½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½Àº ±× ¿¹¸¦ º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.

 

n        ¸¸¾à °´Ã¼°¡ µé¾î ÀÖ´Â Hashtable h°¡ ÀÖ´Ù¸é

Enumeration eh = h.elements();

n        ¸¸¾à °´Ã¼°¡ µé¾îÀÖ´Â Vector v°¡ ÀÖ´Ù¸é

Enumeration ev = v.elements();

 

´ÙÀ½Àº Hashtable¿¡¼­ Iterator¸¦ ¾ò¾î³»´Â ¹æ¹ýÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.

 

n        ¸¸¾à °´Ã¼°¡ µé¾î ÀÖ´Â Hashtable h°¡ ÀÖ´Ù¸é

Iterator ih = h.values().iterator();

 

Áö±Ý±îÁö ³íÀÇÇÑ Enumeration°ú Iterator¿¡ °ü·ÃµÈ ¿¹Á¦´Â ¾Æ·¡¿Í °°½À´Ï´Ù.

 

EnumTest.java

import java.util.*;

public class EnumTest {

             public static void main(String[] args) {

                           Vector v = new Vector();

                           //1. º¤ÅͰ´Ã¼¿¡ µ¥ÀÌÅÍ4°³ »ðÀÔ

                           v.addElement(new String("¸Á¾ÆÁö"));

                           v.addElement(new String("¼Û¾ÆÁö"));

                           v.addElement(new String("°­¾ÆÁö"));

                           v.addElement(new String("º´¾Æ¸®"));

                           Hashtable h = new Hashtable();

                           //1. ÇØ½ÃÅ×ÀÌºí¿¡ °´Ã¼ÀÇ »ðÀÔ

                           h.put("1", new String("È«±æµ¿"));

                           h.put("2", new String("¾È³çÇϼ¼¿ä"));

                           h.put("3", new String("02-1111-2222"));

                           h.put("4", new String("017-777-9999"));

                           Enumeration ev = v.elements();

                           while(ev.hasMoreElements()){

                                        String temp = (String)ev.nextElement();

                                        System.out.println("º¤ÅÍÀÇ Enumeration:" + temp);

                           }

                           System.out.println();

                           Enumeration ei = h.elements();

                           while(ei.hasMoreElements()){

                                        String temp = (String)ei.nextElement();

                                        System.out.println("ÇØ½ÃÀÇ Enumeration:" + temp);

                           }

                           System.out.println();

                           Iterator ih = h.values().iterator();

                           while(ih.hasNext()){

                                        String temp = (String)ih.next();

                                        System.out.println("ÇØ½ÃÀÇ Iterator:" + temp);

                           }

             }

}

C:\examples\6. Array>javac EnumTest.java

C:\examples\6. Array>java EnumTest

º¤ÅÍÀÇ Enumeration:¸Á¾ÆÁö

º¤ÅÍÀÇ Enumeration:¼Û¾ÆÁö

º¤ÅÍÀÇ Enumeration:°­¾ÆÁö

º¤ÅÍÀÇ Enumeration:º´¾Æ¸®

 

ÇØ½ÃÀÇ Enumeration:017-777-9999

ÇØ½ÃÀÇ Enumeration:02-1111-2222

ÇØ½ÃÀÇ Enumeration:¾È³çÇϼ¼¿ä

ÇØ½ÃÀÇ Enumeration:È«±æµ¿

 

ÇØ½ÃÀÇ Iterator:017-777-9999

ÇØ½ÃÀÇ Iterator:02-1111-2222

ÇØ½ÃÀÇ Iterator:¾È³çÇϼ¼¿ä

ÇØ½ÃÀÇ Iterator:È«±æµ¿



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü