2013-11-23 1 views
0

У меня есть программа, которая должна использовать карту для хранения информации о фильмах. В основном есть четыре или пять категорий, комедийное действие и т. Д., А затем название фильма. Я попытался присвоить категорию ключу и иметь несколько значений, которые являются фильмами, но это не работает. Я могу использовать arraylist для хранения объекта, который содержит оба поля, и использовать цикл for для прохождения через весь список и использовать методы получения объектов для просмотра каждого значения. Как я могу сделать это с помощью карты? Мне нужна моя программа, чтобы спросить пользователя о категории, а затем пропустить цикл в списке и распечатать каждый фильм с этой категорией. Каждый раз, когда я пытаюсь использовать карту, он никогда ничего не выводит.TreeMaps с java

+0

Пожалуйста, введите код. –

+0

Почему вы не используете карту, имеющую категорию как ключ, и список фильмов в качестве значения. Я полагаю, что это должно было сделать трюк –

+0

Будет ли использовать SQLite для вас? Для Java существует несколько реализаций. Или вы должны использовать TreeMap? Если SQLite является вариантом, он может обеспечить лучшую масштабируемость. – Chopstick

ответ

0

Как насчет Map<Integer, ArrayList<String>> где Integer будет представлять категорию и String внутри ArrayList бы названия фильмов. Конечно, вы могли бы использовать другие классы, чем Integer или Strings.

0

Две идеи:

Вы можете либо отображающие название фильма к категории:

Map<String, Category> movies; 

Или вы могли бы сохранить список фильмов под категорию:

Map<Category, List<String>> movies; 

В целом, Я бы рекомендовал индексировать что-то еще и сохранить информацию внутри объекта Movie.

0

Я хотел бы предложить следующий подход:

enum Category {COMEDY, ACTION } 

// class containing movie related information 
public class Movie { 
    private String name; 
    // other useful fields 

    // getter and setters 
} 

// ... your code containing the "movies logic" 

Map<Category, List<Movie>> movies ... 

, как это вы можете увидеть категории, которые будут использоваться и извлечения списка для данной категории. Несмотря на то, что набор будет лучшим контейнером для хранения фильмов, а не списка ... так вы избегаете дубликатов. Во всяком случае, используя interafaces (Set или List), вы получите большую гибкость в выборе более поздней реализации, которую вы хотели бы ... или даже для разных категорий, например: для Action LinkedList, для Comedy ArrayList.

Смежные вопросы