SlideShare a Scribd company logo
1 of 57
Download to read offline
บทท 8
           อะเรยและคอลเลกชน
         (Arrays and Collections)

           ผศ.ธนศา เครอไวศยวรรณ
           คณะเทคโนโลย(สารสนเทศ
สถาบ,นเทคโนโลย(พระจอมเกล1าเจ1าค2ณทหารลาดกระบ,ง
วตถประสงค
 อธบายการประกาศและสรางอะเรยของขอม"ลชนดพ%นฐานและชนดคลาส
                                         &
 อธบายการก(าหนดค*าเรมตนใหกบสมาชกของอะเรย

 อธบายการประกาศและสรางอะเรยหลายมต

 แนะน(าการสรางอะเรยสองมตทแต*ละแถวมจ(านวนคอลมนไม*เท*ากน

 แนะน(าเมธอดทเกยวของกบอะเรย
วตถประสงค
 แนะน7าอนเตอร9เฟสส7าค,ญทอย<=ใน   Collection API เช=น   Collection,
  Set,List และ Map
 อธบายการน7าคลาสส7าค,ญทอย<=ใน
                           Collection API เช=น HashSet,
  ArrayList,Vector,LinkedList และ HashMap ไปใช1งาน
 แนะน7าอนเตอรเฟส Iterator,ListIterator และ Enumeration
ความหมายของอะเรย
 อะเรย9ในภาษาจาวาคอต,วแปรท(EเปFนชนดข1อม<ลแบบอ1างอง ท(สามารถใช1เกHบ
                                                      E
  ข1อม<ลชนดเด(ยวก,นได1หลายค=า
 ต,วอย=าง
    •   ต,วแปรอะเรย9ทชอ ch
                      (E E
    •   เกHบข1อม<ลชนด char
    •   ม(จ7านวนสมาชก 5 ต,ว
    •   หมายเลขสมาชกต,งแต= 0 ถLง 4
                           J
ประเภทของอะเรย
 ภาษาจาวาแบ=งต,วแปรอะเรย9เปFนสองประเภทคอ
   •   อะเรย9ของข1อม<ลชนดพJนฐาน
   •   อะเรย9ของข1อม<ลชนดคลาส
 อะเรย9ของข1อม<ลชนดพJนฐานคออะเรย9ท(Eสามารถใช1เกHบข1อม<ลท(ม(ชนดข1อม<ล
                                                          E
  แบบพJนฐานชนดใดชนดหนLEงได1หลายค=า เช=น
   •   อะเรย9ของข1อม<ลชนด int
   •   อะเรย9ของข1อม<ลชนด boolean
 อะเรย9ของข1อม<ลชนดคลาสคออะเรย9ทสามารถใช1เกHบข1อม<ลท(EเปFนออปเจHค
                                 (E
  ของคลาสใดๆได1หลายออปเจHค เช=น
   •   อะเรย9ของข1อม<ลชนด String
การประกาศตวแปรอะเรย
 ร"ปแบบการประกาศตวแปรอะเรย คลายกบการประกาศตวแปรชนดขอม"ลแบ
  บอ%นๆ แต*ตวแปรอะเรยจะมเคร%องหมาย [ ] อย"*ดานหนาหร%อดานหลง
 ร<ปแบบ
            [<modifier>] dataType []variableName;

      หรอ   [<modifier>] dataType variableName[];

 ตวอย*าง
            char[] ch; หร%อ char ch[];
            Student[] s; หร%อ Student s[];
การสรางอะเรยของขอม"ลชนดพ%&นฐาน
 อะเรยในภาษาจาวาจะเป2นต,วแปรแบบอ1างองชนดหนLง (เช=นเด(ยวก,บ
                                            E                   ออป
  เจHค)
 การสรางอะเรยจะสามารถท(าไดโดยการเรยกใชค(าสง new

 ร<ปแบบ
      variableName = new dataType[size];
 ต,วอย=าง
      ch = new char[5];
 ส(าหรบการสรางอะเรยของขอม"ลชนดพ%นฐาน ค(าสง new จะจองเน%&อทใน
                                 &
  หน*วยความจ(าส(าหรบเกบค*าของสมาชกของอะเรย ส=วนตวแปรอะเรยจะเกบ
  ต(าแหน*งอางองไปยงสมาชกของอะเรย
ร<ปแสดงข1อม<ลท(อย<ในอะเรย9
               E =
ต,วอย=างโปรแกรมการใช1อะเรย9ข1อม<ลชนดพJนฐาน
public class SimpleArrays {
    public static void main(String args[]) {
            int []x;
            x = new int[4];
            x[0] = 0;
            x[1] = 2;
            x[2] = 4;
            x[3] = 6;
            System.out.println("x = "+x);
            System.out.println("x[0] = "+x[0]);
            System.out.println("x[1] = "+x[1]);
            System.out.println("x[2] = "+x[2]);
            System.out.println("x[3] = "+x[3]);
    }
}
การสรางอะเรยของขอม"ลชนดคลาส
 ส(าหรบการสรางอะเรยของขอม"ลชนดคลาส ค(าสง new จะจองเน%&อทในหน*วย
  ความจ(าส(าหรบเกบค*าของสมาชกของอะเรย ซ5งจะเป2นเพยงแค*ต(าแหน*ง
  อางองเท*าน&น
 ตวอย*าง
     Student []s;
     s = new Student[3];
ร<ปแสดงข1อม<ลท(อย<ในอะเรย9
               E =
การสร1างออปเจHคของคลาสให1กบสมาชก
                                  ,
 ด,งน,นจะต1องม(การเร(ยกใช1ค7าส,Eง new อ(ก เพEอสร1างออปเจHคของคลาสให1ก,บ
       J
  สมาชกแต=ละต,วของอะเรย9
 ต,วอย=าง
      s[0] = new Student(“1111”,“Thana”,3.0);
      s[1] = new Student(“2211”,“Somchai”,2.10);
      s[2] = new Student(“3331”,“Supansa”,3.1);
ร<ปแสดงข1อม<ลท(อย<ในอะเรย9
               E =
ต,วอย=างโปรแกรมการใช1อะเรย9ข1อม<ลชนดคลาส
public class Student {
           private String name;
           public Student(String n) {
               name = n;
           }
           public String getName() {
               return name;
           }
}
ต,วอย=างโปรแกรมการใช1อะเรย9ข1อม<ลชนดคลาส
public class TestClassArrays {
     public static void main(String args[]) {
            Student []s   = {new Student(“Thana”),
            new Student(“Somchai”),
            new Student(“Somsak”)};
            for(int i=0; i<s.length; i++) {
                     System.out.print(s[i].getName()+"   ");
            }
     }
}
การก(าหนดค*าเรมตนใหกบสมาชกของอะเรย
 ค*าเรมตนของสมาชกของอะเรย จะถ"กก(าหนดใหโดยอตโนมต ซ5งจะมค*าตาม
  ค*าเรมตนของชนดขอม"ลน&นๆ
 เราสามารถสรางอะเรยพรอมกบก(าหนดค*าเรมตนใหกบสมาชกของอะเรยเอง
  ได
 ร<ปแบบ
       dataType []variableName = {value1,value2,..,valueN};

 ตวอย*าง
       int []x = {4,3,5,1,8};
       Student []s = {new Student("1111","Thana",3.0),
                      new Student("2211","Somchai",2.10),
                      new Student("3331","Supansa",3.1)};
การใช1คาส,Eง for เพEออ1างองสมาชกของอะเรย9
             7
 โดยท,วไปเราจะใช1ค7าส,ง for ในการอ1างองถLงสมาชกของอะเรย9
       E               E
 ต,วอย=างเช=น

           for(int i = 0; i < 5; i++) {
                 System.out.println(x[i]);
            }

  หรอ

          for(int i = 0; i < x.length; i++) {
                  System.out.println(x[i]);
          }
Enhanced for
 เราย,งสามารถท(จะเข(ยนค7าส,ง for ในร<ปแบบท(เร(ยกว=า enhanced for เพEอ
                E           E               E
  แจกแจงค=าของต,วแปร อะเรย9โดยอ,ตโนม,ต
 ต,วอย=างเช=น

           for(int i : x) {
                 System.out.println(x[i]);
             }
ต,วอย=างโปรแกรมการใช1ค7าส,ง for
                                      E
public class ForWithArrays {
    public static void main(String args[]) {
            int []x;
            x = new int[4];
            for (int i=0; i<x.length; i++) {
                       x[i] = i*2;
            }
            System.out.println("x = "+x);
            for (int i=0; i<x.length; i++) {
                       System.out.println("x["+i+"] = "+x[i]);
            }
    }
}
ข1อผดพลาดประเภท ArrayIndexOutOfBoundsException
 การอ1างองถLงหมายเลขสมาชกของอะเรย9ท(Eไม=ถ<กต1อง จะท7าให1เกดข1อผด
  พลาดในตอนร,นโปรแกรมโดยโปรแกรมจะส=งข1อผดพลาด
  ArrayIndexOutOfBoundsException ออกมาในขณะร,นโปรแกรม
 ต,วอย=างเช=น

           int []x = {4,3,5,1,8};

  เปFนค7าส,Eงประกาศและสร1างต,วแปรอะเรย9ทม(จ7านวนสมาชกต,Jงแต=หมายเลข
                                        (E
  0 ถLง 4 การอ1างองถLงสมาชกต,วอEน เช=น x[5]จะท7าให1เกดข1อผดพลาดใน
  ตอนร,นโปรแกรม
ต,วอย=างโปรแกรมท(Eจะส=งข1อผดพลาดออกมา
public class IncorrectArrays {
    public static void main(String args[]) {
            int []x = {4,3,5,1,8};
            System.out.println(x[5]);
    }
}
อะเรยหลายมต
 เราสามารถทจะประกาศอะเรยมากกว*าหน5งมตได

 กรณของอะเรยสองมต มร"ปแบบการประกาศตวแปรดงน&
             [modifier] dataType [][]variableName;
      หรอ [modifier]      dataType variableName[][];

 ต,วอย=าง
             int [][]x;

 ร<ปแบบการสร1างต,วแปรอะเรย9สองมตเปFนด,งน(J
             variableName = new dataType[row][col];

 ต,วอย=าง
             x = new int[3][4];
อะเรยสองมตทแต*ละแถวมจ(านวนคอลมนต*างกน
 การสร1างอะเรยสองมตในภาษาจาวา ไม*จ(าเป2นท(จ(านวนคอลมนของแต=ละ
                                           E
  แถวจะตองเท*ากน
 ตวอย*าง
      int [][]x = new int[3][];
      x[0] = new int[4];
      x[1] = new int[2];
      x[2] = new int[3];
ต,วอย=างโปรแกรมอะเรย9สองมต
public class TwoDimensionArrays {
     public static void main(String args[]) {
           int x[][] = new int[3][];
           x[0] = new int[4];
           x[1] = new int[2];
           x[2] = new int[3];
           for(int i=0; i<x.length; i++) {
                 for(int j=0; j<x[i].length; j++) {
                        x[i][j] = (i+j)*2;
                 }
           }
ต,วอย=างโปรแกรมอะเรย9สองมต
           for(int i=0; i<x.length; i++) {
               for(int j=0; j<x[i].length; j++) {
                     System.out.print(x[i][j]+" ");
               }
               System.out.println();
           }
       }
   }




ร<ปแสดงผลล,พธ9ทได1จากการร,นโปรแกรม
               (E
การหาขนาดของอะเรย
 ท2กอะเรย9ในภาษาจาวาจะมคณลกษณะทช%อ length ซ5งจะม(ค=าเท=าก,บ
  จ(านวนสมาชกท&งหมดของอะเรยน,น
                             J
 ตวอย*าง
      int x[] = new int[3];
       • x.length      ม(คาเท=าก,บ
                          =          3

      int x[][] = new int[3][4];
       • x.length      ม(คาเท=าก,บ 3
                          =
       • x[1].length ม(คาเท=าก,บ 4
                            =
เมธอดทเกยวของกบอะเรย
 ในภาษาจาวา ม(เมธอดหลายเมธอดมร,บพารามเตอร9เข1ามาเป2นอะเรยของ
  ข1อม<ลชนดต=างๆ
 เมธอดในคลาส Arrays ท(เก(Eยวข1องก,บอะเรย9ม(ดงต*อไปน&
                       E
   •   sort()
   •   binarySearch()
   •   fill()
ต,วอย=างโปรแกรม
import java.util.Arrays;


public class MethodsArrays {
      public static void main(String args[]) {
            double d[] = {5.3, 3.56, 0.5, 1.65, 7.8};
            Arrays.sort(d);
            for(int i=0; i<d.length; i++) {
                 System.out.print(d[i]+" ");
            }
            System.out.println();
ต,วอย=างโปรแกรม
         int pos = Arrays.binarySearch(d,1.65);
         System.out.println("arrays["+pos+"] = 1.65");
         Arrays.fill(d,1.0);
         for(int i=0; i<d.length; i++) {
             System.out.print(d[i]+" ");
         }
         System.out.println();
     }
}



                                    0.5 1.65 3.56 5.3 7.8
                                    arrays[1] = 1.65
    ผลล,พธ9ทได1จากการร,นโปรแกรม
            (E                      1.0 1.0 1.0 1.0 1.0
การค,ดลอกค=าข1อม<ลของสมาชกของอะเรย9
 ภาษาจาวาไม=ยอมให1ม(การเปล(Eยนแปลงขนาดของอะเรย แต*ค=าข1อม<ลของ
  สมาชกของอะเรย9สามารถทจะถ<กคดลอกได โดยใชค(าสง
     System.arraycopy();
ต,วอย=างโปรแกรม
public class CopyArrays {
         public static void main(String args[]) {
            String []scr = {"Copy","an","array","from",
                                " source"," to"," destination."};
            String []dst = new String[4];
            System.arraycopy(scr,3,dst,0,4);
            for(int i=0; i<dst.length; i++) {
                 System.out.print(dst[i]);
            }
            System.out.println();
     }
}


    ผลล,พธ9ท(Eได1จากการร,นโปรแกรม   from source to destination.
Collection API
 คลาสใน Collection API สามารถท(Eจะน7ามาใชเกบขอม"ลทเป2นออปเจคได
  หลายตว
 โครงสร1างข1อม<ลของคลาสใน Collection API จะคลายกบของอะเรย ต*างกน
  ตรงทขนาดโครงสร1างข1อม<ลของคลาสใน Collection API สามารถท(Eจะถ<ก
  เปลยนแปลงได
Collection API
 Collection API ประกอบไปด1วยอนเตอร9เฟสท(Eส7าค,ญด,งน(J
    •   Collection
    •   Set
    •   List
    •   Map

 Collection API ประกอบไปด1วยคลาสท(Eส7าค,ญด,งน(J
    •   HashSet
    •   ArrayList
    •   Vector
    •   LinkedList
    •   HashMap
ร<ปแสดงส=วนประกอบท(Eสาค,ญของ Collection API
                     7
อนเตอร9เฟส Collection
 ม(ค2ณสมบ,ตคอ สามารถท(Eจะระบ2หรอไม=ระบ2ล7าด,บความส7าค,ญของสมาชก
  และสามารถท(จะก7าหนดให1ค=าข1อม<ลของสมาชกซJ7าก,นหรอไม=กHได1
             E
 อนเตอร9เฟส Collection มเมธอดทส(าคญดงน&
   •   boolean add(Object element)
   •   boolean remove(Object element)
   •   int size()
   •   boolean isEmpty()
   •   boolean contains(Object element)
   •   Iterator iterator()
อนเตอร9เฟส Set
 สบทอดมาจากอนเตอร9เฟส Collection

 ค=าข1อม<ลของสมาชกจะไม*สามารถซ&(ากนได1   และล ดบของสมาชกไม=ม(
  ความส7าค,ญ
 คลาสส7าค,ญท(E implement อนเตอร9เฟส Set   คอคลาส   HashSet
ต,วอย=างโปรแกรม Set
import java.util.*;


public class SampleSet {
     public static void main(String args[]) {
           Set s = new HashSet();
           s.add("C#");
           s.add("Java");
           s.add("Pascal");
            System.out.println("The size of this set is
  "+s.size());
           System.out.println("The contents are "+s);
           System.out.println("Removing C#");
ต,วอย=างโปรแกรม Set
        s.remove("C#");
        System.out.println("Now this set contains C#: "+
                          s.contains("C#"));
        s.add("Java");
        System.out.println("Now the size is "+s.size());
        System.out.println("The contents are "+s);
    }
}

                 ผลล,พธ9ท(Eได1จากการร,นโปรแกรม
        The size of this set is 3
        The contents are [Java, Pascal, C#]
        Removing C#
        Now this set contains C#: false
        Now the size is 2
        The contents are [Java, Pascal]
อนเตอร9เฟส List
 สบทอดมาจากอนเตอร9เฟส Collection

 ค=าข1อม<ลของสมาชกอาจจะสามารถซJ7าก,นได1 และล(าดบของสมาชกม(ความ
  ส7าค,ญ
 อนเตอร9เฟส List ม(เมธอดท(ส7าค,ญท(EเพEมมาจากอนเตอร9เฟส
                           E
  Collection ดงน&
   •   void add(int index,Object element)
   •   Object remove(int index)
   •   Object get(int index)
   •   void set(int index,Object element)
   •   int indexOf(Object element)
   •   ListIterator listIterator()
 คลาสส7าค,ญท(E implement อนเตอร9เฟส List คอคลาส ArrayList,
  Vector และ LinkedList
ต,วอย=างโปรแกรม List
import java.util.*;


public class SampleList {
     public static void main(String args[]) {
           List l = new LinkedList();
           l.add("C#");
           l.add("Java");
           l.add("Pascal");
           System.out.println("The size is "+l.size());
           System.out.println("The contents are "+l);
           System.out.println("The first one is "+l.get(0));
ต,วอย=างโปรแกรม List
        l.add("Java");
        System.out.println("The contents are "+l);
        System.out.println("The index of Java is "+
                               l.indexOf("Java"));
    }
}


                  ผลล,พธ9ท(Eได1จากการร,นโปรแกรม
        The   size is 3
        The   contents are [C#, Java, Pascal]
        The   first one is C#
        The   contents are [C#, Java, Pascal, Java]
        The   index of Java is 1
อนเตอร9เฟส Map
 จะม(การเกHบค=าค(ย9ค<=ก,บค=าข1อม<ลของสมาชกเสมอ โดยท(Eคาค(ยจะต1องไม=ซJ7า
                                                       = 9
  ก,น แต=ค=าข1อม<ลของสมาชกสามารถท(EจะซJ7าก,นได1
 อนเตอร9เฟส Map ม(เมธอดท(Eส7าค,ญด,งน(J
    •   Object put(Object key,Object value)
    •   Object remove(Object key)
    •   Object get(Object key)
    •   Set entrySet()
    •   Set keySet()
    •   int size()
 คลาสส7าค,ญท(E implement อนเตอร9เฟส Map คอคลาส HashMap
ต,วอย=างโปรแกรม Map
import java.util.*;


public class SampleMap {
     public static void main(String args[]) {
           Map m = new HashMap();
           m.put("1","C#");
           m.put("2","Java");
           m.put("3","Pascal");
           System.out.println("Removing Pascal");
           m.remove("3");
           System.out.println("The size is "+m.size());
            System.out.println("The first one is
  "+m.get("1"));
ต,วอย=างโปรแกรม Map
        m.put("3","Java");
           System.out.println("The key of this map are "+
                                              m.keySet());
           System.out.println("The contents are "+m.entrySet());
    }
}



                   ผลล,พธ9ท(Eได1จากการร,นโปรแกรม
         Removing Pascal
         The size is 2
         The first one is C#
         The key of this map are [3, 2, 1]
         The contents are [3=Java, 2=Java, 1=C#]
อนเตอร9เฟส Iterator
 เปFนอนเตอร9เฟสท(Eม(ไว1เพEอใช1ในการอ1างถLงข1อม<ลสมาชกประเภท Set โดยม
  เมธอดทส(าคญดงน&
    •   boolean hasNext()
    •   Object next()
    •   void remove()
 ภายในอนเตอร9เฟส Collection จะม(เมธอดท(EชEอ iterator() ซLEงเปFน
  เมธอดท(จะส=งค=ากล,บเปFน Iterator
         E
ต,วอย=างโปรแกรม Iterator
import java.util.*;

public class SampleIterator {
      public static void main(String args[]) {
             Set scrSet = new HashSet();
             scrSet.add("C#");
             scrSet.add("Java");
             scrSet.add("Pascal");
             Iterator it = scrSet.iterator();
             Set dstSet = new HashSet();
             for(int i=0; i<scrSet.size(); i++) {
                      if(it.hasNext()) {
                              dstSet.add(it.next());
                      }
             }
             System.out.println(dstSet);   ผลล,พธ9ท(Eได1จากการร,นโปรแกรม
      }
                                               [C#, Java, Pascal]
  }
อนเตอร9เฟส ListIterator
 สบทอดมาจากอนเตอร9เฟส Iterator

 ใช1ในการอ1างถLงข1อม<ลสมาชกประเภท   List
 อนเตอร9เฟส ListIterator มเมธอดทส(าคญทเพมมาจาก Iterator
  ดงน&
   •   boolean hasPrevious()
   •   Object previous()
   •   void add(Object element)
   •   void set(Object element)
 ภายในอนเตอร9เฟส List จะม(เมธอดท(ชEอ listIterator() ซLEงเปFน
                                    E
  เมธอดท(จะส=งค=ากล,บเปFน ListIterator
         E
อนเตอร9เฟส Enumeration
 คลายกบอนเตอร9เฟส Iterator

 มเมธอดทส(าคญ ดงน&
   •   boolean hasMoreElement()
   •   Object nextElement()
คลาส Vector
 เปFนคลาสท(E implements อนเตอร9เฟส List

 ม( constructor แบบต=างๆด,งน(J
    •   new Vector()
    •   new Vector(int initialCapacity)
    •   new Vector(int initialCapacity,int capacityIncrement)
ต,วอย=างโปรแกรม Vector
import java.util.*;


public class SampleEnumeration {
      public static void main(String args[]) {
            Vector v = new Vector();
            v.add("C#");
            v.add("Java");
            v.add("Pascal");
            Enumeration e = v.elements();
            while (e.hasMoreElements()) {
                   System.out.print(e.nextElement()+"
    ");
            }
      }
}

    ผลล,พธ9ทได1จากการร,นโปรแกรม
            (E                     C#   Java     Pascal
การใช1ค7าส,ง for และ Generic
                            E
 เราสามารถท(Eจะใช1ค7าส,Eง Genericในการก7าหนดชนดข1อม<ลของอHอบเจกต9ท(E
  อย<ในคอลเลHกช,Eน
     =
 ต,วอย=างเช=น

 List<String> myList = new LinkedList<String>();
 เราสามารถท(จะใช1ค7าส,ง for
             E         E     ในการท(จะแจกแจงค=าของอHอบเจกต9ประเภท
                                    E
  คอลเลHกช,Eนแทนท(จะใช1อนเตอร9เฟส Iterator
                  E
 ต,วอย=างเช=น

          for (String stringList : myList) {
                     System.out.println(stringList);
             }
ต,วอย=างโปรแกรมการใช1 Generic
public class SampleGeneric {


    public static void main(String args[]) {
        Set<Integer> scrSet = new HashSet<Integer>();
        int[] myInt = {1, 3, 5, 7, 11};
        for (int i : myInt) {
            scrSet.add(i);
        }
        for (Integer num : scrSet) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}
การใชค(าสง for และ Generic
 สบทอดมาจากอนเตอร9เฟส Iterator

 ใช1ในการอ1างถLงข1อม<ลสมาชกประเภท   List
 อนเตอร9เฟส ListIterator มเมธอดทส(าคญทเพมมาจาก Iterator
  ดงน&
   •   boolean hasPrevious()
   •   Object previous()
   •   void add(Object element)
   •   void set(Object element)
 ภายในอนเตอร9เฟส List จะม(เมธอดท(ชEอ listIterator() ซLEงเปFน
                                    E
  เมธอดท(จะส=งค=ากล,บเปFน ListIterator
         E
สร2ปเนJอหาของบท
 อะเรย9ของข1อม<ลชนดพJนฐานจะม(ค=าข1อม<ลเปFนสมาชกของอะเรย9 แต=ส7าหร,บ
  อะเรย9ของข1อม<ลชนดคลาส สมาชกของอะเรย9จะเปFนต7าแหน=งอ1างองไปย,งค=า
  ข1อม<ล
 ส7าหร,บอะเรย9สองมต จ7านวนคอล,มน9ในแต=ละแถวไม=จ7าเปFนต1องเท=าก,น

 ในคลาส Arrays ม(เมธอดส7าค,ญท(เก(Eยวข1องก,บอะเรย9คอ sort(),
                               E
  binarySearch() และ fill()
 เมธอด arraycopy() จากคลาส System ใช1ในการค,ดลอกค=าของ
  สมาชกของอะเรย9
สร2ปเนJอหาของบท
   Collection,Set,List        และ Map เปFนอนเตอร9เฟสส7าค,ญท(อย<=ใน
                                                             E
    Collection API โดยท(Eอนเตอร9เฟส Set และ List สบทอดมาจาก
    อนเตอร9เฟส Collection
 อนเตอร9เฟส Set   จะไม=สามารถม(ค=าข1อม<ลของสมาชกท(EซJ7าก,นได1 และล7าด,บ
    ของสมาชกไม=ม(ความส7าค,ญ
 ส=วนอนเตอร9เฟส List   จะสามารถม(ค=าข1อม<ลของสมาชกท(EซJ7าก,นได1 และ
    ล7าด,บของสมาชกม(ความส7าค,ญ
 ส7าหร,บอนเตอร9เฟส Map จะม(การเกHบค=าค(ย9ค<=ก,บค=าข1อม<ลของสมาชก

 เราสามารถน7าคลาสท(E implements อนเตอร9เฟสเหล=าน(ไปใช1ในการเกHบ
                                                  J
    ข1อม<ลท(เปFนออปเจHคได1หลายต,วคล1ายก,บอะเรย9 แต=สามารถเปล(Eยนแปลง
            E
    ขนาดได1
สร2ปเนJอหาของบท
 อนเตอร9เฟส Iterator,ListIterator และ Enumeration ใช1ในการ
  อ1างถLงข1อม<ลสมาชกของคลาสท(อย<=ใน Collection API
                               E
 คลาส Vector เปFนคลาสท(Eใช1ในการเกHบกล2=มของออปเจHคของคลาสใดๆโดย
  ไม=จ7าก,ดจ7านวน ประเภทเด(ยวก,บ List
   เราสามารถท(Eใช1 Generic ในการก7าหนดชนดของอHอบเจกต9ท(Eจะใส=ข1อม<ลลงอHอบเจกต9คลาสประเภท
     คอลเลHกช,Eน
   ค7าส,Eง for สามารถท(Eจะใช1ในการแจกแจงข1อม<ลแทนการใช1 Iterator หรอ
    Enumeration ได1
   เราสามารถใช1ค7าส,Eง Genericในการก7าหนดชนดข1อม<ลของอHอบเจกต9ท(Eอย<=ในคอลเลHกช,Eนได1
แบบฝcกห,ด
 ข1อท(E 1
    •   จากโปรแกรมจ7าลองระบบธนาคาร ให1ทดลองปร,บปร2งคลาส Customer โดยการใช1
        อะเรย9เพEอก7าหนดให1ม(ค2ณล,กษณะท(สามารถเกHบบ,ญช(ธนาคารได1หลายบ,ญช(
                                        E

 ข1อท(E 2
    •   จากโปรแกรมจ7าลองระบบธนาคาร ให1ทดลองเข(ยนคลาสท(ชEอ Bank ท(Eม(ค2ณล,กษณะ
                                                           E
        เพEอเกHบข1อม<ลล<กค1า (ออปเจHคชนด Customer) หลายๆคน โดยก7าหนดให1เปFนข1อม<ล
        แบบ Vector และม(เมธอดในการเพEมล<กค1า และเร(ยกด<ข1อม<ลล<กค1า

More Related Content

What's hot

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาดJava Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาดThanachart Numnonda
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็มJitti Nut
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาT'tle Tanwarat
 
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิกJava Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิกThanachart Numnonda
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingIMC Institute
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาJK133
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Wongyos Keardsri
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPp'dan Phuengkun
 
บทที่ 5 คลาส
บทที่ 5 คลาสบทที่ 5 คลาส
บทที่ 5 คลาสTheeravaj Tum
 
Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Wongyos Keardsri
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Wongyos Keardsri
 

What's hot (20)

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
Java AWT
Java AWTJava AWT
Java AWT
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาดJava Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาด
 
Reference :: Java :: เต็ม
 Reference :: Java :: เต็ม Reference :: Java :: เต็ม
Reference :: Java :: เต็ม
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Java Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิกJava Programming: การจัดการกับเหตุการณ์กราฟิก
Java Programming: การจัดการกับเหตุการณ์กราฟิก
 
Java Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception HandlingJava Programming [9/12]: Exception Handling
Java Programming [9/12]: Exception Handling
 
Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
02 basic
02 basic02 basic
02 basic
 
Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)Java-Answer Chapter 12-13 (For Print)
Java-Answer Chapter 12-13 (For Print)
 
Java-Answer Chapter 05-06
Java-Answer Chapter 05-06Java-Answer Chapter 05-06
Java-Answer Chapter 05-06
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
บทที่ 5 คลาส
บทที่ 5 คลาสบทที่ 5 คลาส
บทที่ 5 คลาส
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)Java-Answer Chapter 01-04 (For Print)
Java-Answer Chapter 01-04 (For Print)
 
Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)Java-Answer Chapter 07 (For Print)
Java-Answer Chapter 07 (For Print)
 

Similar to Java Programming: อะเรย์และคอลเล็กชั่น

บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1Little Tukta Lita
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysWongyos Keardsri
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์Theeravaj Tum
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นFinian Nian
 
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Anekwong Yoddumnern
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระAreeya Onnom
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระAreeya Onnom
 

Similar to Java Programming: อะเรย์และคอลเล็กชั่น (20)

08 arrays
08 arrays08 arrays
08 arrays
 
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1บทที่  5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
บทที่ 5 ข้อมูลชนิดอาร์เรย์และสตริง 6.1
 
Computer Programming 3
Computer Programming 3 Computer Programming 3
Computer Programming 3
 
..Arrays..
..Arrays....Arrays..
..Arrays..
 
Computer Programming 2.2
Computer Programming 2.2Computer Programming 2.2
Computer Programming 2.2
 
Java-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional ArraysJava-Chapter 07 One Dimensional Arrays
Java-Chapter 07 One Dimensional Arrays
 
บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์บทที่ 6 อาร์เรย์
บทที่ 6 อาร์เรย์
 
Computer Programming 2.1
Computer Programming 2.1Computer Programming 2.1
Computer Programming 2.1
 
Array
ArrayArray
Array
 
Ass1 2
Ass1 2Ass1 2
Ass1 2
 
C lang
C langC lang
C lang
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 
Know1 3
Know1 3Know1 3
Know1 3
 
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
Error handle-OOP(รูปแบบและลักษณะการ Error ในโปรแกรม)
 
Java-Answer Chapter 10-11
Java-Answer Chapter 10-11Java-Answer Chapter 10-11
Java-Answer Chapter 10-11
 
Java-Answer Chapter 08-09
Java-Answer Chapter 08-09Java-Answer Chapter 08-09
Java-Answer Chapter 08-09
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
ตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระตัวแปรชุดและตัวแปรอักขระ
ตัวแปรชุดและตัวแปรอักขระ
 
Introduction toc
Introduction tocIntroduction toc
Introduction toc
 
Tec4
Tec4Tec4
Tec4
 

More from Thanachart Numnonda

Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thanachart Numnonda
 
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขThanachart Numnonda
 
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยThanachart Numnonda
 
Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Thanachart Numnonda
 
How would cloud computing Effect to Software Industry?
How would cloud computing  Effect to Software Industry?How would cloud computing  Effect to Software Industry?
How would cloud computing Effect to Software Industry?Thanachart Numnonda
 
Impact of cloud computing to Asian IT Industry
Impact of cloud computing  to Asian IT IndustryImpact of cloud computing  to Asian IT Industry
Impact of cloud computing to Asian IT IndustryThanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่Thanachart Numnonda
 
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]Thanachart Numnonda
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่Thanachart Numnonda
 
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย Thanachart Numnonda
 
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆCloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆThanachart Numnonda
 
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทยThanachart Numnonda
 
บทความ Google vs. Android
บทความ Google vs. Android  บทความ Google vs. Android
บทความ Google vs. Android Thanachart Numnonda
 
Technology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryTechnology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryThanachart Numnonda
 
อยากอยู่ 110 ปี
อยากอยู่ 110 ปี อยากอยู่ 110 ปี
อยากอยู่ 110 ปี Thanachart Numnonda
 
Intermediate Java Programming Language (in Thai)
Intermediate Java Programming Language (in Thai)Intermediate Java Programming Language (in Thai)
Intermediate Java Programming Language (in Thai)Thanachart Numnonda
 

More from Thanachart Numnonda (20)

Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021Thailand Digital Industry Survey Result 2021
Thailand Digital Industry Survey Result 2021
 
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุขประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
ประวัติ (ศาสตร์) อันแสนสุขของ แถมสุข
 
Planning on Mobile Strategy
Planning on Mobile StrategyPlanning on Mobile Strategy
Planning on Mobile Strategy
 
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทยข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
ข้อบังคับ สมาคมสถาปนิกเทคโนโลยีสารสนเทศประเทศไทย
 
Software Trends Towards AEC 2015
Software Trends Towards AEC 2015Software Trends Towards AEC 2015
Software Trends Towards AEC 2015
 
Personal Cloud
Personal CloudPersonal Cloud
Personal Cloud
 
How would cloud computing Effect to Software Industry?
How would cloud computing  Effect to Software Industry?How would cloud computing  Effect to Software Industry?
How would cloud computing Effect to Software Industry?
 
Impact of cloud computing to Asian IT Industry
Impact of cloud computing  to Asian IT IndustryImpact of cloud computing  to Asian IT Industry
Impact of cloud computing to Asian IT Industry
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
 
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
รายชื่อผู้สมควรได้รับใบประกาศเกียรติคุณโครงการวิทยาศาสตร์สู่ความเป็นเลิศ]
 
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
พิชิตคู่แข่ง แซงหน้าด้วยไอที ยุคใหม่
 
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
ไอซีทีกับการเปลี่ยนแปลงของสังคมไทย
 
Cloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆCloud Computing กับการใช้งานในองค์กรต่างๆ
Cloud Computing กับการใช้งานในองค์กรต่างๆ
 
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
3G กับอนาคต ธุรกิจแอพพลิเคชันในเมืองไทย
 
บทความ Google vs. Android
บทความ Google vs. Android  บทความ Google vs. Android
บทความ Google vs. Android
 
IT trends for co-creation
IT trends for co-creationIT trends for co-creation
IT trends for co-creation
 
Technology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software IndustryTechnology Trends & The Impact for Software Industry
Technology Trends & The Impact for Software Industry
 
อยากอยู่ 110 ปี
อยากอยู่ 110 ปี อยากอยู่ 110 ปี
อยากอยู่ 110 ปี
 
Open
OpenOpen
Open
 
Intermediate Java Programming Language (in Thai)
Intermediate Java Programming Language (in Thai)Intermediate Java Programming Language (in Thai)
Intermediate Java Programming Language (in Thai)
 

Java Programming: อะเรย์และคอลเล็กชั่น