VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • Python
  • Java WS
  • MyBatis
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • PHP
    • CSS
    • HTML
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Selenium Test
    • Lập trình C
    • Lập trình C++
  • Tuyển Dụng
Java cơ bản Các khái niệm Java OOPs

Java Collections

Collections là gì? ArrayList trong java LinkedList trong java ArrayList vs LinkedList List Interface trong java HashSet trong java LinkedHashSet trong java TreeSet trong java Map Interface trong java HashMap trong java LinkedHashMap trong java TreeMap trong java Hashtable trong java HashMap vs Hashtable EnumSet trong java EnumMap trong java Lớp Collections trong java Sorting trong Collections Comparable trong java Comparator trong java Comparable vs Comparator Lớp Properties trong java ArrayList vs Vector Array vs ArrayList Iterator trong Java
Java AWT Java Swing Java I/O Ví Dụ Java I/O Java JDBC Các tính năng mới trong java Lập Trình Mạng Với Java Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu hỏi phỏng vấn java

Hashtable trong java


TreeMap trong java
Sự khác nhau giữa HashMap và Hashtable

Những điểm quan trọng về lớp Hashtable trong java là:

  • Hashtable là một mảng của list. Mỗi list được biết đến như một xô chứa các phần tử. Ví trí của một xô được xác định bằng việc gọi phương thức hashcode(). Hashtable cũng lưu trữ dữ liệu dưới dạng cặp key và value.
  • Nó chứa các key duy nhất.
  • Nó KHÔNG thể có bất kỳ key hoặc giá trị nào là null.
  • Nó được đồng bộ.

Sự khác nhau giữa HashMap và Hashtable

Đây cũng là một câu hỏi phỏng vấn được hỏi với tần suất cao. Xem chi tiết tại đây sự khác nhau giữa HashMap và Hashtable.



Hierarchy của lớp Hashtable

Hashtable trong java

Khai báo của lớp Hashtable

Dưới đây là khai báo của lớp java.util.Hashtable trong java

public class Hashtable<K,V> extends Dictionary<K,V>
    implements Map<K,V>, Cloneable, java.io.Serializable {

Trong đó:

  • K: đây là kiểu key để lưu trữ.
  • V: đây là kiểu giá trị được ánh xạ.


Ví dụ về Hashtable trong java

Ví dụ 1: Sử dụng phương thức remove().

package vn.viettuts.collection;

import java.util.Hashtable;
import java.util.Set;

public class HashTableExample1 {
    /**
     * main
     * 
     * @author viettuts.vn
     * @param args
     */
    public static void main(String args[]) {
        // init hashtable
        Hashtable<Integer, String> hashtable = new Hashtable<Integer, String>();
        // add elements to hashtable
        hashtable.put(3, "C++");
        hashtable.put(1, "Java");
        hashtable.put(2, "PHP");
        hashtable.put(4, "Python");
        // show hashtable
        show(hashtable);
        // remove element
        hashtable.remove(2);
        // show hashtable after remove
        System.out.println("After remove:");
        // show hashtable
        show(hashtable);

    }

    /**
     * show HashMap
     * 
     * @param viettuts.vn
     */
    public static void show(Hashtable<Integer, String> hashtable) {
        Set<Integer> keySet = hashtable.keySet();
        for (Integer key : keySet) {
            System.out.println(key + " " + hashtable.get(key));
        }
    }
}

Kết quả:

4 Python
3 C++
2 PHP
1 Java
After remove:
4 Python
3 C++
1 Java

Ví dụ 2: Hashtable với key có kiểu String, value có kiểu Student.

Lớp Student.java

/**
 * Student class
 * 
 * @author viettuts.vn
 */
public class Student{
    private String name;
    private int age;
    private String address;

    public Student() {
    }

    public Student(String name, int age, String address) {
        super();
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Student@name=" + name + ",age=" + age + ",address=" + address;
    }
}

File:

package vn.viettuts.collection;

import java.util.Hashtable;
import java.util.Set;

public class HashTableExample2 {
    /**
     * main
     * 
     * @author viettuts.vn
     * @param args
     */
    public static void main(String args[]) {
        // init hashMap
        Hashtable<String, Student> hashMap = new Hashtable<String, Student>();
        // add elements to hashMap
        hashMap.put("1", new Student("A", 12, "Hanoi"));
        hashMap.put("3", new Student("C", 13, "Hanoi"));
        hashMap.put("2", new Student("E", 15, "Hanoi"));
        hashMap.put("4", new Student("D", 14, "Hanoi"));
        // show hashMap
        show(hashMap);
    }

    /**
     * show HashMap
     * 
     * @param viettuts.vn
     */
    public static void show(Hashtable<String, Student> hashtable) {
        Set<String> keySet = hashtable.keySet();
        for (String key : keySet) {
            System.out.println(key + " " + hashtable.get(key));
        }
    }
}

Kết quả:

4 Student@name=D,age=14,address=Hanoi
3 Student@name=C,age=13,address=Hanoi
2 Student@name=E,age=15,address=Hanoi
1 Student@name=A,age=12,address=Hanoi

TreeMap trong java
Sự khác nhau giữa HashMap và Hashtable

Bài viết liên quan:

  • Mảng (Array) trong java
  • ArrayList trong java
  • Sự khác nhau giữa Array với ArrayList
  • Sắp xếp các phần tử của List
  • Sự khác nhau giữa ArrayList và Vector
  • HashSet trong java
  • HashMap trong java
  • Sự khác nhau giữa HashMap và Hashtable
  • List câu hỏi phỏng vấn Java Collection

Recent Updates

Phân biệt List, Tuple, Set, Dictionary trong PythonHàm Dictionary dict() trong PythonHàm Set set() trong PythonBài tập Java - Trộn 2 mảng trong javaBài tập Java - Chèn phần tử vào mảng trong javaBài tập Java - Sắp xếp mảng theo thứ tự giảm dầnBài tập Java - Sắp xếp mảng theo thứ tự tăng dầnJava - Liệt kê số lần xuất hiện của các phần tử trong một mảngJava - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lầnJava - Liệt kê các phần tử xuất hiện trong mảng đúng 1 lầnChuỗi chứa chuỗi trong javaJava - Liệt kê số lần xuất hiện của các từ trong một chuỗi

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml