SORU
19 Kasım 2008, ÇARŞAMBA


Kullanmak istiyorsunuz hangi veri yapısı: TreeMap veya HashMap? (Java)

Açıklama |Bir metni okumak için bir Java programı ve kelime metin içinde oluşur kez sayısı ile birlikte alfabetik olarak benzersiz bir deyişle her bir dosya yazdırın.

Program türü Map<String, Integer> kelimeleri saklamak ve geçtiği karşılık gelen frekans değişken bildirmeniz gerekir. Beton türü olan, değil mi? TreeMap<String, Number> HashMap<String, Number> ?

Giriş küçük harfe dönüştürülmüş olmalıdır.

Bu karakterlerden herhangi birini içermeyen bir kelime: \t\t\n]f.,!?:;\"()'

Örnek çıktı |

 Word            Frequency
  a                 1
  and               5
  appearances       1
  as                1
         .
         .
         .

| AçıklamaBen, kod kabaca iki satırlık Perl bu zarif çözümler gördüm. Ancak, Java görmek istiyorum.

Edit: evet, bir uygulama bu yapıların bir (Java) kullanarak. göstermek için yararlı olabilir

CEVAP
19 Kasım 2008, ÇARŞAMBA


TreeMap "alfabetik" gereksinimi. düşünerek beni-sadece çünkü bir görünüyor HashMap sana yineleme zaman hiç sipariş veren oldu; TreeMap doğal anahtarı sırayla dolaşır.

EDİT: Konrad yorum "HashMap kullanımı, sıralama sonra." telkin edilmiş olabilir bence Bu N yineleme başlangıçta zorundayız rağmen, K < zorundayız, çünkü iyidir;= sonuna çiftleri nedeniyle N tuşları. De gittiğimiz gibi sıralanmış tutmak küçük-ama-olmayan-sabit hedef daha az anahtarları varken sonuna kadar pahalı bit (sıralama) kurtarırlar.

Çünkü . şu an için benim cevap kalıyorum şunları söyledi: ^em>basitbu hedefe ulaşmanın yolu. Gerçekten OP performans konusunda özellikle endişeli olduğunu bilmiyoruz, ama soru zerafet ve kısalık konusunda endişeli olduğunu ima ediyor. Bir TreeMap kullanarak hangi hitap ediyor bu çok kısa, benim için yapar. Eğer performans gerçekten bir sorun varsa, ya TreeMap veya HashMap:) daha saldırmak için daha iyi bir yol olabileceğini düşünüyorum

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • The White House

    The White Ho

    21 Ocak 2006