Это правильное использование хеш-таблицы в Java - PullRequest
0 голосов
/ 23 апреля 2011
package datastrcutures;
import java.util.*;

public class java_hashtable {
      public static void ratingofcity() {
           Hashtable CityRating = new Hashtable();
           CityRating.put("New York", "8");
           CityRating.put("Sandton", "9");
      }

}

Ответы [ 2 ]

2 голосов
/ 23 апреля 2011

Вопрос Is this correct usage of a hashtable очень субъективен. Map используется для хранения наборов ключей и значений, как в вашем примере. Однако - вещи, которые вы должны учитывать в своем дизайне:

  • Нужна ли моя карта, чтобы быть поточно-ориентированной? если нет, используйте HashMap
  • Можете ли вы иметь одинаковый рейтинг для двух городов? Если нет, может быть, массив будет лучше?
  • Если ответ на поставленный выше вопрос « да » - нужно ли вам получить все города с одинаковым рейтингом? в этом случае вам может потребоваться создать другую структуру данных или просто поддерживать две карты (одну из Город -> Рейтинг и одну из Рейтинг -> Город )
  • Можно ли считать рейтинг String - не хотите ли вы Integer, чтобы их можно было сравнить?

Также несколько примечаний, не связанных с «дизайном» этого вопроса:

  • Предпочитают объявлять интерфейс Collection , который вы используете вместо реализации - это упрощает изменения кода и делает ваш API более надежным.
  • Использование обобщений - это делает тип кода безопасным и легким для чтения. например Map<String, Integer> cityRatings = new Hashtable<String, Integer>();
2 голосов
/ 23 апреля 2011

Я думаю, что у вас есть опечатка, ваш тип объекта должен быть Hashtable вместо Hasttable И вы должны использовать Java Generics

Создайте объект хеш-таблицы следующим образом:

Hashtable<String, String> cityRating = new Hashtable<String, String>();

В качестве соглашения об именах Java я бы предложил, чтобы имя вашего объекта начиналось со строчной буквы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...