假设我有两个List
,一个用于Movie
,另一个用于Genre
。我想将一个或多个Genre
映射到一个Movie
和/或将一个或多个Movie
映射到一个Genre
。我该怎么做?
答案 0 :(得分:0)
Java Map
-interface用于将对象映射到其他对象。 Map<Movie, List<Genre>>
List
Genre
Movie
Map<Genre, List<Movie>>
{{1}} {{1}} {{1}} {{1}}。{/ 1}}。
如果你想要一张双向地图,there is already a question for that
答案 1 :(得分:0)
您应该使用的集合是Map<String, List<String>>
。
要将一个或多个流派映射到电影,您应该使用:
Map<movie, List<genre>>
要将一部或多部电影映射到流派,您应该使用:
Map<genre, List<movie>>
答案 2 :(得分:0)
我想......就是这样:
Movie f = new Movie("fight club"); // for example..
List<Genre> genres = ...;
genres.add(new Genre("comic"));
genres.add(new Genre("horror"));
Map <Movie,List<Genre>> movieGenres = new HashMap<Movie,List<Genre>>();
movieGenres.add(f,genres);
答案 3 :(得分:0)
使用适当的地图实施。
Map<String, MyObject> map = new HashMap<String, MyObject>();
我建议你看一下Guava multimap
Multimap<String, String> multimap = ArrayListMultimap.create();
multimap.put("action", "rambo");
multimap.put("action", "terminator");
multimap.put("thriller", "rambo");
System.out.println(multimap.get("action"));
System.out.println(multimap.get("thriller"));