добавление ArrayList'a в HashMap

Есть список коллекций фильмов. List movieList.

У объекта Movie есть поля: String name; String actor

Подскажите пожалуйста как можно с помощью какого либо ассоциативного массива (например HashMap) добавить список фильмов в него?

Далее необходимо вывести список всех фильмов в котором снимался тот или иной актер.

Заранее спасибо! Собственных идей как это сделать нет к сожалению


Ответы (1 шт):

Автор решения: Анастасия

По условиям Вашей задачи Movie выглядит как-то так (но тут вопрос, ведь в одном фильме снимается много актеров...) :

public class Movie {
    
    private String name;
    private String actor;
    
    public Movie(String name, String actor){
        this.name = name;
        this.actor = actor;
    }
    
    public String getName(){
        return name;
    }
    
    public String getActor(){
        return actor;
    }
}

То, насколько можно сделать какие-то выводы из Вашего вопроса, Вы хотите сделать что-то вроде этого:

import java.util.*;

public class MainClass
{
    public static HashMap<String, Movie> movieMap;
    
    public static void main(String[] args) {
        ArrayList<Movie> movieList = new ArrayList<Movie>();
        movieList.add(new Movie("Волк с Уолл-стрит","Леонардо ДиКаприо"));
        movieList.add(new Movie("Титаник","Леонардо ДиКаприо"));
        movieList.add(new Movie("Легенда","Том Харди"));
        movieMap = new HashMap<String, Movie>();
        for (Movie movie : movieList) {
            movieMap.put(movie.getName(), movie);
        }
        printMoviesWithActor(movieMap,"Леонардо ДиКаприо");
    }
    
    public static void printMoviesWithActor(HashMap<String, Movie> movieMap, String actor){
        for (Map.Entry<String, Movie> entry : movieMap.entrySet()) {
            Movie movie = entry.getValue();
            if(movie.getActor().equals(actor)){
                System.out.println(movie.getName());
            }
        }   
    }
}

Вывод:

Титаник
Волк с Уолл-стрит

Если это не то, что Вы имели в виду, то уточните свой вопрос, пожалуйста. Или, возможно, Вам пригодятся идеи из этого кода.

→ Ссылка