HashMap Java


HashMap adalah class implementasi dar Map, Map itu sendiri adalah interface yang memiliki fungsi untuk memetakan nilai dengan key unik. HashMap berfungsi sebagai memory record management, dimana setiap record dapat disimpan dalam sebuah Map. kemudian setiap Map diletakkan pada vektor, list atau set yang masih turunan dari collection. HashMap sangat baik untuk menghandle resultset dari query. Hal ini memungkinkan waktu eksekusi operasi dasar, seperti get() dan put(), tetap konstan bahkan untuk set yang besar.

Konstruktor berikut didefinisikan:

HashMap( )
HashMap(Map m)
HashMap(int capacity)
HashMap(int capacity, float fillRatio)

Bentuk pertama membangun hash map default. Bentuk kedua menginisialisasi hash map dengan menggunakan elemen m. Bentuk ketiga menginisialisasi kapasitas hash map dengan capacity. Bentuk keempat menginisialisasi keduanya kapasitas dan isi rasio hash map dengan menggunakan argumen. Isi rasio harus antara 0.0 dan 1.0. Secara khusus, ketika jumlah elemen lebih besar dari kapasitas hash set dikalikan dengan isi rasio-nya, hash set diperluas. Untuk konstruktor yang tidak mengambil isi rasio, 0.75 digunakan.

HashMap mengimplementasikan Map dan extends AbstractMap. Ini tidak menambahkan metode sendiri.

Anda harus mencatat bahwa hash map tidak menjamin urutan elemennya. Oleh karena itu, urutan elemen yang ditambahkan ke hash map tidak selalu urutan di mana mereka dibaca oleh iterator.

Program berikut mengilustrasikan HashMap. Ini map nama untuk saldo rekening. Perhatikan bagaimana set-view diperoleh dan digunakan.

import java.util.*;
public class HashMapDemo {
    public static void main(String[] args) {
        //membuat hash map
        HashMap hm = new HashMap();
        //meletakkan elemen pada map
        hm.put(“John Doe”, new Double(3434.34));
        hm.put(“Tom Smith”, new Double(123.22));
        hm.put(“Jane Baker”, new Double(1378.00));
        hm.put(“Todd Hall”, new Double(99.22));
        hm.put(“Ralph Smith”, new Double(-19.08));
        //Mendapatkan sekumpulan masukan
        Set set = hm.entrySet();
        //mendapatkan iterator
        Iterator i = set.iterator();
        //menampilkan elemen
        while(i.hasNext()){
            Map.Entry me = (Map.Entry)i.next();
            System.out.print(me.getKey()+”: “);
            System.out.println(me.getValue());
        }
        System.out.println();
        // Deposit 1000 ke rekening John Doe
        double balance = ((Double)hm.get(“John Doe”)).doubleValue();
        hm.put(“John Doe”, new Double(balance + 1000));
        System.out.println(“John Doe’s new balance: “+hm.get(“John Doe”));
    }
}

Output Program:

Program ini dimulai dengan membuat hash map dan kemudian menambahkan pemetaan nama ke saldo. Selanjutnya, isi map ditampilkan dengan menggunakan set-view, diperoleh dengan pemanggilan entrySet(). Key dan nilai-nilai yang ditampilkan dengan memanggil metode getKey() dan getValue() yang didefinisikan oleh Map.Entry. Perhatikan bagaimana deposit dibuat ke rekening John Doe. Metode put() otomatis menggantikan nilai apapun yang sudah ada sebelumnya yang dikaitkan dengan key yang ditentukan dengan nilai baru. Dengan demikian, setelah akun John Doe diperbarui, hash map masih akan berisi hanya satu akun “John Doe”.
Iklan
  1. Mas, bagaimana mengatasi frame yang saya bikin di Matisse, yang jika dijalankan seringkali ter-resize sendiri sehingga tampak cropped? Sangat jelek, dan tidak profesional. Saya tes JAR saya di Ubuntu, jalan sempurna (meski tak jarang resized juga). Saya tes di Windows 7, malah lebih sering resized-nya.

    Saya sudah atur semua properti yang berkaitan dengan size. Saya menggunakan AbsoluteLayout. Bagaimana menyelesaikan masalah ini, Mas?

  1. Mei 28th, 2016
  2. Mei 28th, 2016
    Trackback from : HashMap – rabiatul23blog

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: