1 / 19

Chapter 12

Chapter 12. Collection Class A little data structure. Package java.util.

hollis
Download Presentation

Chapter 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 12 Collection Class A little data structure

  2. Package java.util • Collection คือวิธีการรวมวัตถุไว้ด้วยกันเป็นกลุ่ม โดยสามารถอ้างถึงเพื่อการใช้งาน และสามารถเพิ่มหรือลดวัตถุใน Collection ได้ กล่าวถึงคำว่า Collection ผู้อ่านอาจนึกถึงคำว่า สะสม เช่น การสะสมแสตมป์ หรือ การสะสมวัตถุโบราณ เป็นต้น เช่นเดียวกัน ในภาษา Java คำว่า Collection หมายถึงการสะสมวัตถุให้อยู่รวมกัน เพื่อสะดวกในการค้นหา เพิ่ม หรือ ลบ วัตถุ

  3. Set and List • HashSet • No duplicate objects stored • No order when inserting • ArrayList and LinkedList • Duplicated objects allowed • Keep order when inserting

  4. Lab • Open API • java.util • Write example of • HashSet • LinkedList • To store objects of Integer

  5. Vector และ LinkedList

  6. ListIterator

  7. Methods in ListIterator • void add(Object o) • boolean hasNext() • boolean hasPrevious() • Object next() • Object previous() • void remove() • void set(Object o)

  8. public class Client { • private String name; • private double balance; • public Client(String name, double balance) { • this.name = name; • this.balance = balance; • } • public String toString() { • return name + " has " + • balance + " Baht in the bank."; • } • }

  9. import java.util.*; public class ClientList { private LinkedList clientList; //number of clients private static int count=0; //constructor public ClientList () { clientList = new LinkedList(); } //append an element to the linked list public void add(Client somebody) { clientList.add(somebody); count++; } //return number of clients in the linked list public int getCount() { return count; } public ListIterator getListIterator() { return clientList.listIterator(); } }

  10. Sorting (Implements Comparable ) • ค่า 0 ในกรณีที่วัตถุมีค่าเท่ากัน • ค่า -1 ในกรณีที่วัตถุมีค่าน้อยกว่า • ค่า 1 ในกรณีที่วัตถุมีค่ามากกว่า

  11. public class Client implements Comparable { • private String name; • private double balance; • public Client(String name, int balance) { • this.name = name; • this.balance = balance; • } • public String toString() { • return name + " has " + balance + " Baht in the bank."; • } • public int compareTo(Object o) { • //have to cast Obejct o to Client before using it • Client anotherClient = (Client) o; • if(balance == anotherClient.balance) return 0; • else if(balance < anotherClient.balance) return -1; • else return 1; • } • }

  12. import java.util.*; • public class ClientList { • private LinkedList clientList; • //number of clients • private static int count=0; • //constructor • public ClientList () { • clientList = new LinkedList(); • } • //append an element to the linked list • public void add(Client somebody) { • clientList.add(somebody); • count++; • } • //return number of clients in the linked list • public int getCount() { • return count; • } • public ListIterator getListIterator() { • return clientList.listIterator(); • } • public void sort() { • Collections.sort(clientList); • } • }

  13. shuffle() and reverse()

  14. Stack

  15. Methods • boolean empty() ใช้ทดสอบว่า Stack ว่างหรือไม่ • Object pop() ใช้ในการนำข้อมูลออกจาก Stack • Object push(Object item) ใช้ในการนำข้อมูลใส่ใน Stack

  16. import java.util.*; • public class TestStack { • public static void main(String[] args) { • Client tommy = new Client("Tommy", 2000); • Client judy = new Client("Judy", 5000); • Client patty = new Client("Patty", 6000); • Client johnny = new Client("Johnny", 4000); • //create stack • Stack clientStack = new Stack(); • clientStack.push(tommy); • clientStack.push(judy); • clientStack.push(patty); • clientStack.push(johnny); • while( !clientStack.empty() ) { • System.out.println( (Client) clientStack.pop() ); • } • } • } • ---------- Java Output---------- • Johnny has 4000.0 Baht in the bank. • Patty has 6000.0 Baht in the bank. • Judy has 5000.0 Baht in the bank. • Tommy has 2000.0 Baht in the bank.

  17. Lab • จงใช้คลาส HashTable โดยให้ใช้ Method put(Object key, Object value) ในการเก็บข้อมูลและแสดงข้อมูลที่เก็บใน HashTable ทางจอภาพ

More Related