CodeGym /Blog Jawa /Acak /Carane nggawe kamus basa Jawa
John Squirrels
tingkat
San Francisco

Carane nggawe kamus basa Jawa

Diterbitake ing grup
Yen sampeyan kudu nggawe kamus ing program Jawa, cara paling logis kanggo ngatasi masalah iki yaiku nggunakake struktur data kamus. Struktur data iki ngidini sampeyan nyimpen informasi ing wangun "kunci - nilai". Jawa nduweni kelas Kamus khusus uga turunane, Hashtable . Uga ana antarmuka Peta lan kelas HashMap , sing uga nyimpen pasangan "kunci - nilai". Dadi akeh cara kanggo nggawe kamus basa Jawa.

Struktur data kamus

Dadi, struktur data Kamus nyimpen informasi minangka kombinasi kunci-nilai. Yaiku, kanthi nilai apa wae, kita nggandhengake kunci (bisa uga, contone, id) lan ketik pasangan iki menyang kamus. Ngatasi unsur kamus, mbusak, nggoleki ing kamus ditindakake kanthi tombol. Iku misale jek trep kanggo ngatur nggunakake struktur data kuwi, contone, buku telpon, ngendi jeneng (kunci) cocog karo nomer telpon (nilai).

Kelas kamus lan ekstensi

Kanggo miwiti, java.util.Dictionary <K, V> util.Dictionary minangka kelas abstrak. Iki nuduhake hubungan kunci-nilai lan kerjane padha karo peta. Diwenehi tombol sampeyan bisa nyimpen nilai lan yen perlu bisa njupuk maneh nilai nggunakake tombol. Dadi, iki minangka dhaptar pasangan kunci-nilai.

public abstract class Dictionary<K,V> extends Object
Amarga kelas iki abstrak, kita ora bakal bisa langsung. Kamus nduweni Hashtable kelas anak langsung . Dadi kanggo nggawe kamus ing Jawa sampeyan bisa nggunakake Hashtable . Kelas iki ngleksanakake tabel hash, kang peta tombol kanggo nilai lan sembarang obyek non-null bisa digunakake minangka tombol utawa minangka nilai. Ing hierarki Jawa Hashtable ngluwihi Kamus lan ngleksanakake Peta . Ayo menehi conto. Kita bakal nggawe kamus klasik, buku telpon, adhedhasar Hashtable .

Dictionary phoneBook = new Hashtable();
Yen kita nulis kanthi cara iki, kita kudu ngetrapake jinis casting kanggo sawetara operasi. Contone, kanggo extraction tombol.

System.out.println(((Hashtable) phoneBook).keySet());
Kanggo ngindhari iki, kita bisa ngganti

Dictionary phoneBook = new Hashtable ();
ing

Hashtable phoneBook = new Hashtable ();
Ing conto kita, kanggo kajelasan, kita bakal ninggalake pilihan pisanan.

import java.util.Dictionary;
import java.util.Hashtable;

public class DictionaryDemo {

       public static void main(String[] args) {

           Dictionary phoneBook = new Hashtable();

           // put() method
           phoneBook.put("Johnny Walker", "2178");
           phoneBook.put("Andrew Arnold", "1298");
           phoneBook.put("Ivy Briggs", "1877");
           phoneBook.put("Ricky McBright", "2001");

           //print out Hashtable out
           System.out.println(phoneBook);

           //let's get the value using the key
           System.out.println(phoneBook.get("Ivy Briggs"));
           //there's no such key in out Hashtable
           System.out.println(phoneBook.get("Sol Frank"));

           //Is there a record with the "Johnny Walker" key?
           System.out.println(((Hashtable) phoneBook).containsKey("Johnny Walker"));
           //all keys of the Hashtable
           System.out.println(((Hashtable) phoneBook).keySet());
           //values from Hashtable
           System.out.println(((Hashtable) phoneBook).values());

           //the quantity of records
           System.out.println(phoneBook.size());
           //removing one record
           phoneBook.remove("Andrew Arnold");
           System.out.println(phoneBook);
       }
   }
Outpute yaiku:
{Andrew Arnold=1298, Johnny Walker=2178, Ricky McBright=2001, Ivy Briggs=1877} 1877 null true [Andrew Arnold, Johnny Walker, Ricky McBright, Ivy Briggs] [1298, 2178, 2001, 4 {1877] =2178, Ricky McBright=2001, Ivy Briggs=1877}

HashMap minangka kamus

HashMap , ora kaya Hashtable , dudu turunan langsung saka Kamus . Nanging, amarga akeh fitur, biasane luwih apik kanggo nggawe kamus nggunakake HashMap . Kelas HashMap meh padha karo fungsi Hashtable . Bentenane utama yaiku metode Hashtable disinkronake , nanging HashMap ora. Sinkronisasi ing Hashtable nyuda kinerja kode. Kajaba iku, kelas HashMap , ora kaya Hashtable, ngidini nggunakake null minangka tombol (siji) lan pesawat saka null minangka nilai. Ing kasus kita, program bakal katon persis padha karo conto ing ndhuwur. Bentenipun mung ing jinis koleksi. Nanging, iki minangka cara sing paling disenengi kanggo nggarap kamus ing basa Jawa.

import java.util.HashMap;
import java.util.Map;

public class DictionaryDemo2 {

   public static void main(String[] args) {

       Map<String, String> phoneBook = new HashMap<String,String>();
      
       phoneBook.put("Johnny Walker", "2178");
       phoneBook.put("Andrew Arnold", "1298");
       phoneBook.put("Ivy Briggs", "1877");
       phoneBook.put("Ricky McBright", "2001");
      
       System.out.println(phoneBook);
      
       System.out.println(phoneBook.get("Johnny Walker"));
       System.out.println(phoneBook.get("Ivy Briggs"));
       System.out.println(phoneBook.get("Unknown Friend"));
      
       System.out.println(phoneBook.containsKey("Johnny Walker"));
       System.out.println(phoneBook.containsKey("Unknown Friend"));

       System.out.println(phoneBook.keySet());
       System.out.println(phoneBook.values());

       System.out.println(phoneBook.size());

       phoneBook.remove("Andrew Arnold");

       System.out.println(phoneBook);
   }

}
Punika output:
{Andrew Arnold=1298, Ivy Briggs=1877, Ricky McBright=2001, Johnny Walker=2178} 2178 1877 null true false [Andrew Arnold, Ivy Briggs, Ricky McBright, Johnny Walker] [1298, 1877, 2001], 4 Ivy Briggs=1877, Ricky McBright=2001, Johnny Walker=2178}
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION