假设我有两个List
s,一个用于Movie
s,另一个用于Genre
s。我想将一个或多个Genre
映射到一个Movie
和/或一个或多个Movie
s到一个Genre
。我会怎么做?收藏:映射对象
收藏:映射对象
回答
Java Map
-interface用于将对象映射到其他对象。 A Map<Movie, List<Genre>>
将Genre
的List
分配给单个Movie
,Map<Genre, List<Movie>>
会以相反的方式进行。
如果你想有一个2路地图,there is already a question for that
,你应该使用的收集Map<String, List<String>>
。
映射的一个或多个流派的电影,你应该使用: Map<movie, List<genre>>
而映射的一个或多个电影流派,你应该使用: Map<genre, List<movie>>
我想...类似的东西:
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);
...并且不要忘记在你的课程上重写hash和equals! –
使用适当的地图实现。
Map<String, MyObject> map = new HashMap<String, MyObject>();
,我建议你看看番石榴多重映射
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"));
我很难找到从这个答案到问题的连接。考虑进一步解释你的意思 – LionC
检查编辑的答复。 –
- 1. 映射对象
- 2. 映射对象
- 3. linqtosql对象映射
- 4. Grails映射对象
- 5. 对象Xml映射
- 6. 映射对象与映射实体
- 7. 使用映射映射嵌套对象
- 8. OneToOne映射不设置映射对象
- 9. NHibernate的映射,映射对象
- 10. RestKit对象映射没有映射我的对象
- 11. 对象映射不适用于RESTkit对象映射
- 12. 对象映射Restkit不映射嵌套对象
- 13. .NET对象映射,分组对象
- 14. ResKit对象映射嵌套对象
- 15. .Net 2.0中的对象映射对象
- 16. AutoMapper未在对象内映射对象
- 17. SimpleFlatMapper对象到对象映射
- 18. Java将对象映射到对象 - Moo
- 19. RestKit映射对象没有对象类
- 20. 将JSON对象映射到Javascript对象
- 21. RestKit的对象映射
- 22. JSON的RestKit对象映射
- 23. RestKit映射对象数组
- 24. JavaScript库来映射对象?
- 25. RestKit非kvc对象映射
- 26. JSON到对象映射
- 27. XML的对象映射 - MOXy
- 28. 对象映射到位图
- 29. 映射响应对象(C#)
- 30. 嵌套对象映射RestKit
地图<流派,列表>< - 这样 –
nafas
@nafas也许你应该写一个答案您的评论,有一个解释给未来的读者? – Luke
@Luke答案应该是精确的,可以提供意见的地方, – nafas