Vector¿Í HashtableÀº ³»ºÎÀûÀ¸·Î CollectionÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϰí ÀÖ´Â ´ëÇ¥ÀûÀÎ ³ðÀÔ´Ï´Ù. Vector´Â CollectionÀÚü¸¦ ¹Ù·Î ±¸ÇöÇÑ Å¬·¡½ºÀ̸ç, HashtableÀº ³»ºÎÀûÀ¸·Î CollectionÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. °´Ã¼¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù´Â ¸é¿¡¼´Â ÀÌ µÎ Ŭ·¡½º´Â ºñ½ÁÇÏÁö¸¸ ³»ºÎÀûÀÎ ±¸Çö°ú ¾à°£ÀÇ »ç¿ë¹æ¹ýÀÌ ´Ù¸¨´Ï´Ù.
HashtableÀÇ Æ¯¼ºÀ» º»´Ù¸é ´Ü¿¬ÄÚ À¯ÀÏÇÑ Å°°ªÀ» °¡Áö°í ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸»Àº °´Ã¼¸¦ »ðÀÔÇÒ ¶§ Ưº°ÇÑ Å°°ªÀ» °°ÀÌ ÀÔ·ÂÇϰí, ±×¸®°í °´Ã¼¸¦ ÃßÃâÇÒ ¶§¿¡´Â ۰ªÀ¸·Î °´Ã¼¸¦ ÃßÃâÇÏ´Â ±â¹ýÀ» »ç¿ë ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. Áï, °´Ã¼¸¦ ÀúÀåÇÒ ¶§ ²¿¸®Ç¥¸¦ Çϳª ºÙ¿© µÎ´Â °ÍÀÌÁö¿ä. ±×¸®°í ÀÌ ²¿¸®Ç¥¸¦ ÀÌ¿ëÇØ¼ °´Ã¼¸¦ ´Ù½Ã ¾ò¾î¿À´Â °ÍÀÔ´Ï´Ù. ²¿¸®Ç¥ ¶ÇÇÑ °´Ã¼ÀÇ Çü½ÄÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. º¸ÅëÀÇ ²¿¸®Ç¥(۰ª)´Â ½ºÆ®¸µÇüÀ» »ç¿ëÇÕ´Ï´Ù.
VectorÀÇ °æ¿ì¿¡´Â À̿ʹ ´Þ¸® °´Ã¼¸¸À» »ðÀÔÇÏ°í °´Ã¼¸¦ ¼ø¼´ë·Î ÃßÃâÇÏ´Â ±â¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ´Ü¼øÇÑ ÀúÀå°ø°£À¸·Î¸¸ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. º¤ÅÍ¿Í ÇØ½ÃÅ×À̺íÀÇ Â÷ÀÌÁ¡À» Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù.
º¤ÅÍ¿Í ÇØ½ÃÅ×À̺íÀÇ Â÷ÀÌÁ¡
n º¤ÅÍ: µ¥ÀÌÅÍÀÇ ÀÔ·ÂÇÑ ¼ø¼¿¡ µû¶ó¼ µ¥ÀÌÅÍ ÃßÃâ, index·Î ÃßÃâ
n ÇØ½ÃÅ×À̺í: ۰ª°ú µ¥ÀÌÅ͸¦ °°ÀÌ ÀÔ·ÂÇϰí ۰ªÀ¸·Î µ¥ÀÌÅ͸¦ ÃßÃâÇÒ ¼ö ÀÖ´Ù.
n ¹°·Ð, ÇØ½ÃÅ×À̺íÀº º¤ÅÍÀÇ ±â´ÉÀ» ±×´ë·Î °¡Áö°í ÀÖ´Ù.
±×·³ Vector ÀÇ ÃÊ °£´Ü ¿¹Á¦¸¦ Çѹø »ìÆì º¼±î¿ä
VectorTest.java |
import java.util.Vector; public class VectorTest { public static void main(String[] args) { Vector v = new Vector(); System.out.println("»ý¼ºÁ÷ÈÄÀÇ size: " + v.size()); //1. º¤ÅͰ´Ã¼¿¡ µ¥ÀÌÅÍ4°³ »ðÀÔ v.addElement(new String("¸Á¾ÆÁö")); v.addElement(new String("¼Û¾ÆÁö")); v.addElement(new String("°¾ÆÁö")); v.addElement(new String("º´¾Æ¸®")); System.out.println("µ¥ÀÌÅÍ »ðÀÔÈÄÀÇ size: " + v.size()); //2. VectorÀÇ ¿ä¼Ò °¡Á®¿À±â for(int i=0; i< v.size(); i++){ String temp = (String)v.elementAt(i); System.out.println("º¤ÅÍÀÇ " + i + "¹øÂ°:" + temp); } } } |
C:\examples\6. Array>javac VectorTest.java C:\examples\6. Array>java VectorTest »ý¼ºÁ÷ÈÄÀÇ size: 0 µ¥ÀÌÅÍ »ðÀÔÈÄÀÇ size: 4 º¤ÅÍÀÇ 0¹øÂ°:¸Á¾ÆÁö º¤ÅÍÀÇ 1¹øÂ°:¼Û¾ÆÁö º¤ÅÍÀÇ 2¹øÂ°:°¾ÆÁö º¤ÅÍÀÇ 3¹øÂ°:º´¾Æ¸® |
ÀÏ´Ü Vector°´Ã¼¸¦ Çϳª »ý¼ºÇÕ´Ï´Ù.
n Vector v = new Vector();
±×¸®°í Vector v¿¡ ½ºÆ®¸µ °´Ã¼ 4°³¸¦ »ðÀÔÇÕ´Ï´Ù. µ¥ÀÌÅ͸¦ »ðÀÔÇÒ ¶§´Â addElement(Object obj)¸Þ¼µå¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ±×¸®°í ¸Å°³º¯¼ö´Â °´Ã¼ÀÇ Çü½ÄÀ» ÀÌ¿ëÇÕ´Ï´Ù.
n v.addElement(new String("¸Á¾ÆÁö"));
n v.addElement(new String("¼Û¾ÆÁö"));
n v.addElement(new String("°¾ÆÁö"));
n v.addElement(new String("º´¾Æ¸®"));
³Ö¾ú´Ù¸é ´Ù½Ã »Ì¾Æ¼ º¸¾Æ¾ßÁÒ. °´Ã¼ÀÇ »ðÀÔµÈ ¼ø¼¿¡ µû¶ó¼ ´Ù½Ã µ¥ÀÌÅ͸¦ ÃßÃâÇÕ´Ï´Ù.
n for(int i=0; i< v.size(); i++){
n String temp = (String)v.elementAt(i);
n System.out.println("º¤ÅÍÀÇ " + i + "¹øÂ°:" + temp);
n }
º¤ÅÍ ³»¿¡ ÀÖ´Â °´Ã¼ÀÇ ¼ö´Â size()¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ±× ¼ö¸¸Å elementAt¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© index¼øÀ¸·Î Â÷·Ê´ë·Î µ¥ÀÌÅ͸¦ ÃßÃâÇÕ´Ï´Ù. ÇÏÁö¸¸ ÃßÃâµÈ µ¥ÀÌÅÍ´Â ObjectÇüÀ̱⠶§¹®¿¡ ¿ø·¡ÀÇ ÇüÀ¸·Î Çüº¯È¯À» ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
n String temp = (String)v.elementAt(i);
À§ÀÇ ¿¹¿¡¼ Vector¸¦ óÀ½ »ý¼ºÇßÀ» ¶§ size´Â 0ÀÔ´Ï´Ù. ±×¸®°í µ¥ÀÌÅ͸¦ 4°³ »ðÀÔÇßÀ» ¶§ÀÇ °³¼ö´Â 4ÀÔ´Ï´Ù. ÀÌ ´Ü¼øÇÑ ¼Ò½º´Â º¤ÅͶó´Â °ÍÀÌ ¹«¾ùÀ» ÇÏ´Â °ÍÀÎÁö Á¤È®ÇÏ°Ô º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù. º¤Å͸¦ º¸´Ù ´Ù¾çÇÏ°Ô ÀÌ¿ëÇϰí ÀÖ´Â ¿¹Á¦¸¦ Çϳª »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
VectorTest2.java |
import java.util.Vector; public class VectorTest2 { public static void main(String[] args) { Vector v = new Vector(); //º¤ÅͰ´Ã¼¿¡ µ¥ÀÌÅÍ »ðÀÔ v.addElement(new Character('A')); v.addElement(new String("±À¹ðÀÌ")); v.addElement(new Integer(100)); v.addElement(new Integer(200)); v.insertElementAt(new Float(3.141592), 1); //1¹øÂ°¿¡ Áß°£»ðÀÔ v.setElementAt(new String("Set"), 3); //3¹øÂ°Á¸ÀçÇÏ´Â °Í Á¦°ÅÈÄ ´Ù½Ã »ðÀÔ(update) System.out.println("size: " + v.size()); System.out.println("º¤ÅÍÀÇ0¹øÂ°:" + (Character)v.elementAt(0)); System.out.println("º¤ÅÍÀÇ1¹øÂ°:" + (Float)v.elementAt(1)); System.out.println("º¤ÅÍÀÇ2¹øÂ°:" + (String)v.elementAt(2)); System.out.println("º¤ÅÍÀÇ3¹øÂ°:" + (String)v.elementAt(3)); System.out.println("º¤ÅÍÀÇ4¹øÂ°:" + ((Integer)v.elementAt(4)).toString()); if(v.contains(new String("Set"))){ Integer integer = new Integer(v.indexOf("Set")); System.out.println("Index of String(\"Set\"): " + integer.toString()); } } } |
C:\examples\6. Array>javac VectorTest2.java C:\examples\6. Array>java VectorTest2 size: 5 º¤ÅÍÀÇ0¹øÂ°:A º¤ÅÍÀÇ1¹øÂ°:3.141592 º¤ÅÍÀÇ2¹øÂ°:±À¹ðÀÌ º¤ÅÍÀÇ3¹øÂ°:Set º¤ÅÍÀÇ4¹øÂ°:200 Index of String("Set"): 3 |
ÀÌ ÇÁ·Î±×·¥ÀÇ ÀýÂ÷´Â ´ÙÀ½°ú °°½À´Ï´Ù.
n º¤Å͸¦ »ý¼ºÇÑ´Ù.
Vector v = new Vector();
n º¤ÅÍ¿¡ 4°³ÀÇ °´Ã¼¸¦ »ðÀÔÇÑ´Ù.
v.addElement(new Character('A'));
v.addElement(new String("±À¹ðÀÌ"));
v.addElement(new Integer(100));
v.addElement(new Integer(200));
n º¤ÅÍÀÇ 1¹øÂ° ÀÚ¸®¿¡ °´Ã¼¸¦ »ðÀÔÇÑ´Ù.
v.insertElementAt(new Float(3.141592), 1); //1¹øÂ°¿¡ Áß°£»ðÀÔ
n º¤ÅÍÀÇ 3¹øÂ° ÀÚ¸®ÀÇ °ÍÀ» Áö¿ì°í ´Ù¸¥ °´Ã¼·Î ¾÷µ¥ÀÌÆ®ÇÑ´Ù.
v.setElementAt(new String("Set"), 3); //3¹øÂ°Á¸ÀçÇÏ´Â °Í Á¦°ÅÈÄ ´Ù½Ã »ðÀÔ(update)
n º¤ÅÍÀÇ µ¥ÀÌÅ͸¦ ¸ðµÎ ¾ò¾î³»¾î ¿ø·¡ÀÇ ÇüÀ¸·Î º¯È¯ÇÏ¿© Ãâ·ÂÇÑ´Ù.
System.out.println("º¤ÅÍÀÇ0¹øÂ°:" + (Character)v.elementAt(0));
System.out.println("º¤ÅÍÀÇ1¹øÂ°:" + (Float)v.elementAt(1));
System.out.println("º¤ÅÍÀÇ2¹øÂ°:" + (String)v.elementAt(2));
System.out.println("º¤ÅÍÀÇ3¹øÂ°:" + (String)v.elementAt(3));
System.out.println("º¤ÅÍÀÇ4¹øÂ°:" + ((Integer)v.elementAt(4)).toString());
n º¤ÅÍ¿¡ ƯÁ¤°´Ã¼°¡ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
v.contains(new String("Set")) ÀÖ´Ù¸é true ¾ø´Ù¸é false
n º¤ÅÍ¿¡ ã°íÀÚÇÏ´Â °´Ã¼¸¦ ÀÌ¿ëÇÏ¿© ÇØ´ç°´Ã¼¸¦ º¤ÅÍ¿¡¼ ã´Â´Ù.
v.indexOf("Set"));
º¤ÅÍ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿©·¯°¡Áö ¸Þ¼µåÀÇ »ç¿ë¹æ¹ýÀ» º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù. ´ÙÀ½À¸·Î HashtableÀÇ ¿¹¸¦ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
HashtableTest.java |
import java.util.Hashtable; public class HashtableTest { public static void main(String[] args) { Hashtable h = new Hashtable(); //1. ÇØ½ÃÅ×ÀÌºí¿¡ °´Ã¼ÀÇ »ðÀÔ h.put("Name", new String("È«±æµ¿")); h.put("Age", new Integer(27)); h.put("Tel", new String("02-1111-2222")); h.put("Handphone", new String("017-777-9999")); h.put("Etc", new String("I'm a boy")); //۰ªÀ» ÀÌ¿ëÇÏ¿© °´Ã¼ ÃßÃâ String name = (String)h.get("Name"); if (name != null) { System.out.println("Name = " + name); } Integer age = (Integer)h.get("Age"); if (age != null) { System.out.println("Age = " + age.intValue()); } } } |
C:\examples\6. Array>javac HashtableTest.java C:\examples\6. Array>java HashtableTest Name = È«±æµ¿ Age = 27 |
ÇØ½ÃÅ×À̺íÀº µ¶Æ¯ÇÏ°Ô Å°°ª°ú °´Ã¼¸¦ ÇÔ²² ÁÖ¾î ۰ªÀ¸·Î °´Ã¼¸¦ ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÏ´Ü, Á¦ÀÏ ¸ÕÀú Hashtable°´Ã¼¸¦ »ý¼ºÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
n Hashtable h = new Hashtable();
ÇØ½ÃÅ×ÀÌºí¿¡ ۰ª°ú °´Ã¼¸¦ µ¿½Ã¿¡ ÁÖ¸é¼ °´Ã¼ 5°³¸¦ »ðÀÔÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¶§ »ðÀÔÇÏ´Â ¿ø¸®´Â Vector¿¡ µ¥ÀÌÅ͸¦ »ðÀÔÇÏ´Â °Í°ú °°ÀÌ UpcastingÀÇ ¿ø¸®¸¦ ÀÌ¿ëÇØ¼ µ¥ÀÌÅ͸¦ »ðÀÔÇϰí ÀÖ½À´Ï´Ù. ¸Å°³º¯¼ö´Â ObjectÇüÀ̱⠶§¹®¿¡ StringÇü°ú IntegerÇü °´Ã¼ ¸ðµÎ putÀÇ ¸Å°³º¯¼ö·Î »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀÇ ÀåÁ¡Àº °´Ã¼°¡ ¾î¶°ÇÑ ÇüÀÎÁö ¸ô¶óµµ °´Ã¼¸¦ »ðÀÔÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô »ý°¢ÇØ º¸ÁÒ. HashtableÀ» ¸¸µç »ç¶÷Àº ½ÇÇà½Ã¿¡ »ç¿ëÀÚ°¡ ¾î¶² °´Ã¼¸¦ ³ÖÀ» °ÍÀ̶ó°í °¡Á¤ÇÒ±î¿ä? ¸ð¸¦ ÀÏÀÌÁÒ. Áï, ½ÇÇà½Ã¿¡ ¾î¶°ÇÑ °´Ã¼°¡ ÀԷµÉÁö ¸ô¶óµµ UpcastingÀ» ÀÌ¿ëÇÏ¸é ¸ðµÎ ¹Þ¾Æ µéÀÏ ¼ö ÀÖ´Ù´Â ¿ø¸®¸¦ ÀÌ¿ëÇÑ °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº Hashtable¿¡ °´Ã¼¸¦ »ðÀÔÇÏ´Â °ÍÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.
n h.put("Name", new String("È«±æµ¿"));
n h.put("Age", new Integer(27));
n h.put("Tel", new String("02-1111-2222"));
n h.put("Handphone", new String("017-777-9999"));
n h.put("Etc", new String("I'm a boy"));
´ÙÀ½Àº ۰ªÀ» ÀÌ¿ëÇØ¼ °´Ã¼¸¦ ¹Þ¾Æ ³»¾î¼ Ãâ·ÂÇÕ´Ï´Ù. ÀԷ½à ³»ºÎ¿¡¼ ObjectÇüÀ¸·Î Çüº¯È¯À» Çϱ⠶§¹®¿¡ ¸®ÅÏÇüÀº ObjectÇüÀÔ´Ï´Ù. DowncastingÀ» ÅëÇØ¼ ´Ù½Ã ¿ø·¡ÀÇ ÇüÀ¸·Î º¹¿øÇÕ´Ï´Ù. ´ÙÀ½Àº Hashtable¿¡¼ °´Ã¼¸¦ ¾ò¾î ¿ø·¡ÀÇ ÇüÀ¸·Î º¹¿ø ½Ã۰í ÀÖ´Â °ÍÀ» º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
n String name = (String)h.get("Name");
n Integer age = (Integer)h.get("Age");
Áö±Ý±îÁö ¿©·¯ºÐÀº ³»ºÎÀûÀ¸·Î CollectionÀ» »ç¿ëÇÏ´Â Vector¿Í HashtableÀÇ »ç¿ë¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ´ÙÀ½ Àý¿¡¼´Â ¿°ÅÀÚ¸¦ ÀÌ¿ëÇÑ Hashtable °ú Vector¸¦ ´Ù·ç´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |