Gửi Thông Điệp Yêu Thương vanbinh_bt nhắn với all: thi sao rồi mấy đồ...[Mr]-Boom nhắn với All K4: Chúc mọi người có 1 kỳ thi thật tốt !!lặng lẽ yêu nhắn với nguyễn ngọc huy: chúc mi có một kỳ thi tốt nha. vẫn nhớ mingocthongcctm05f nhắn với QNGAI: hãy sát cánh bên nhau.....hi.......trinhvh91 nhắn với TM03B: TM03B đoàn kết đi chơi cuối khóa nghenNgười vô cảm nhắn với nguyenlu: Ai vậy? T vẫn bước đi trong yêu thương mà ^^381 nhắn với neyugn: mong rằng chúng ta sẽ đi đến cái đích cuối cùng !nguyenlu nhắn với Người vô cảm: Hãy bước đi trong sự yêu thươnglenguyen_alone nhắn với Young Bin: tại sao nhok lại iu bin chứ nhỉ???hp thành công nhá!!binhcaolinh nhắn với Đen Trần: Cố gắng học chăm chỉ nhé em! Gửi Thông Điệp Yêu Thương


BẢNG GIÁ QUẢNG CÁO TẠI DIỄN ĐÀN 2MIT.ORG 2012

Hiện kết quả từ 1 tới 1 của 1

Chủ đề: Lớp Hashtable (bảng băm) trong Java

  1. #1
    Tham gia ngày
    Sep 2009
    Đến từ
    LT3C Co., Ltd
    Tuổi
    21
    Bài gửi
    1,635
    Cảm ơn
    1,170
    Được cảm ơn 1,245/499 bài viết
    Blog Entries
    10
    8
    MASTER
     
     
    Số lần cộng|trừ: 3 lần

    Default Lớp Hashtable (bảng băm) trong Java

    Lớp Hashtable mở rộng lớp trừu tượng Dictionary, lớp này cũng được định nghĩa trong gói java.util. Hashtable được sử dụng để ánh xạ khoá (key) đến giá trị (value). Ví dụ, nó có thể được sử dụng để ánh xạ các tên đến tuổi, những người lập trình đến những dự án, chức danh công việc đến lương, và cứ như vậy.
    Hashtable
    mở rộng kích thước khi các phần tử được thêm vào. Khi một Hashtable mới, bạn có thể chỉ định dung lượng ban đầu và yếu tố nạp (load factor). Điều này sẽ làm cho hashtable tăng kích thước lên, bất cứ lúc nào việc thêm vào một phần tử mới làm vượt qua giới hạn hiện hành của Hashtable. Giới hạn của Hashtable là dung lượng nhân lên bởi các yếu tố được nạp.Ví dụ: một bảng băm với dung lượng 100, và một yếu tố nạp là 0.75 sẽ có một giới hạn là 75 phần tử. Các phương thức xây dựng cho bảng băm được biểu diễn trong bảng sau:
    • Các phương thức xây dựng Hashtable
    Hashtable(int): Xây dựng một bảng mới với dung lượng ban đầu được chỉ định.
    Hashtable(int, float): Xây dựng một lớp mới với dung lượng ban đầu được chỉ định và yếu tố nạp.
    Hashtable(): Xây dựng một lớp mới bằng cách sử dụng giá trị mặc định cho dung lượng ban đầu và yếu tố nạp.




    Hashtable hash1 = new Hashtable(500,0.80);


    Trong trường hợp này, Bảng băm “hash1” sẽ lưu trữ 500 phần tử. Khi bảng băm lưu trữ vừa đầy 80% (một yếu tố nạp vào của 0.80), kích thước tối đa của nó sẽ được tăng lên.
    Mỗi phần tử trong một hashtable bao gồm một khoá và một giá trị. Các phần tử được thêm vào bảng băm bằng cách sử dụng phương thức put(), và được truy lục bằng cách sử dụng phương thức get(). Các phần tử có thể được xoá từ một bảng băm với phương thức remove(). Các phương thức contains() và containsKey() có thể được sử dụng để tra cứu một giá trị hoặc một khoá trong bảng băm. Một vài phương thức của Hashtable được tóm tắt trong bảng sau:
    • Các phương thức lớp Hashtable

    clear(): Xoá tất cả các phần tử từ bảng băm.
    clone(): Tạo một bản sao của Hashtable.
    contains(Object): Trả về True nếu bảng băm chứa các đối tượng được chỉ định.
    containsKey(Object): Trả về True nếu bảng băm chứa khoá được chỉ định.
    elements(): Trả về một tập hợp phần tử của bảng băm.
    get(Object key): Trả về đối tượng có khoá được chỉ định.
    isEmpty(): Trả về true nếu bảng băm rỗng.
    keys(): Trả về tập hợp các khoá trong bảng băm.
    put(Object, Object): Thêm một phần tử mới vào bảng băm (Object, Object) là khoá và giá trị.
    rehash(): Thay đổi bảng băm thành một bảng băm lớn hơn.
    remove(Object key):Xoá một đối tượng được cho bởi khoá được chỉ định.
    size(): Trả về số phần tử trong bảng băm.
    toString(): Trả về đại diện chuỗi được định dạng cho bảng băm.

    Chương trình sau sử dụng lớp Hashtable. Trong chương trình này, tên của các tập ảnh là các khoá, và các năm là các giá trị.
    “contains” được sử dụng để tra cứu phần tử nguyên 1969, để thấy có danh sách chứa bất kỳ các tập ảnh từ 1969.
    “containsKey” được sử dụng để tìm kiếm cho khoá “Animals”, để tìm tập ảnh đó trong bẳng băm.
    Phương thức “get()” được sử dụng để tìm tập ảnh “Wish You Were Here” có trong bảng băm không. Phương thức get() trả về phần tử cùng với khoá (tên và năm).


    Code demo
    Code:
    
    import java.util.*;
      public class HashTableImplementer
      {
       public static void main(String args[])
       {
        //tạo một bảng băm mới
        Hashtable ht = new Hashtable();
       //thêm các tập ảnh tốt nhất của Pink Floyd
       ht.put(“Pulse”, new Integer(1995));
       ht.put(“Dark Side of the Moon”, new Integer(1973));
       ht.put(“Wish You Were Here”, new Integer(1975));
       ht.put(“Animals”, new Integer(1997));
       ht.put(“Ummagumma”, new Integer(1969));
       //Hiển thị bảng băm
       System.out.println(“Initailly: “+ht.toString());
       //kiểm tra cho bất kỳ tập ảnh nào từ 1969
       if(ht.contains(new Integer(1969)))
                  System.out.println(“An album from 1969 exists”);
       //kiểm tra cho tập ảnh các con thú
       if(ht.containsKey(“Animals”))
       System.out.println(“Animals was found”);
       //Tìm ra 
       Integer year = (Integer)ht.get(“Wish You Were Here”);
       System.out.println(“Wish you Were Here was released in”+year.toString());
      //Xoá một tập ảnh
       System.out.println(“Removing Ummagumma\r\n”);
       ht.remove(“Ummagumma”);
       //Duyệt qua tất cả các khoá trong bảng.
        System.out.println(“Remaining:\r\n”);
        for(Enumeration enum = ht.keys(); enum.hasMoreElements();)
        System.out.println((String)enum.nextElement());
       }
      }
      

    --------------------------------------------------
    Xem các chủ đề cùng chuyên mục:


    +5 EXP
    Thay đổi nội dung bởi: integer, 16-10-2011 lúc 11:49 AM
    Hãy nghĩ tới những điều tốt đẹp

  2. Thành viên đã cảm ơn integer trong bài viết này là :

    ChIpKut3 (16-10-2011)

Thông tin về chủ đề này

Users Browsing this Thread

Hiện giờ đang có 1 người xem chủ đề này. (0 thành viên 1 khách)

     

Chủ đề giống nhau

  1. Hỏi đáp Frame & GridbagLayout trong java
    By lyvinhr00m in forum Java/Java Script
    Trả lời: 2
    Bài mới gửi: 25-09-2011, 04:08 AM
  2. Cài đặt unrar, Java, Flash, hỗ trợ MP3, DVD trong Fedora
    By phuc113 in forum Hệ điều hành Linux
    Trả lời: 0
    Bài mới gửi: 18-08-2011, 11:12 PM
  3. Trả lời: 0
    Bài mới gửi: 25-04-2011, 10:25 AM
  4. Trả lời: 0
    Bài mới gửi: 26-01-2011, 05:46 PM
  5. [Cấu trúc dữ liệu nân cao]- HashTable(mảng băm)
    By Sory_i've_hurt_u in forum Thuật toán
    Trả lời: 0
    Bài mới gửi: 10-12-2010, 11:42 PM

1663
Lượt xem

Share