Disons que je dois concevoir un système pour une collection de livres. Et supposons que j'ai des millions de livres et pour simplifier nous n'avons pas besoin d'ajouter ou de retirer des livres du système.One Vs Objets multiples - Java ou tout autre PO
Je peux créer une classe de livre et d'initier un tableau de la taille de la collection:
Book book = new Book[number of books];
Dans ce cas, livre comprendront des champs tels que:
long bookIsbn
String bookTitle
Ou, au contraire, initier un seul objet:
Book book = new Book();
Dans ce cas, la classe Book doit inclure des tableaux/listes/cartes, etc. qui comprennent des informations sur l'ensemble de la collection. Par exemple:
Map<Integer, String> isbnToTitle = new Map<Integer, String>();
Quelle représentation est la plus efficace? ou peut-être pour reformuler la question, qui est considérée comme une meilleure approche de POO?
Merci!
"plus efficace" et "meilleure approche POO" ne font pas vraiment référence à la même chose, donc l'un n'est pas une reformulation de l'autre. –
Problème d'efficacité sous-jacente: Object Arrary vs. Map. Ils ont des avantages/inconvénients respectifs comme vous le savez. – solotim
Oui, Object Arrary vs Map est une question de ce qui est mieux pour l'application spécifique. Mais oublions la carte, pour l'application générale, mon souci avec la première solution est que j'ai besoin de créer des millions d'objets du type Livre, où dans la deuxième solution, je crée seulement un objet de Livre, puis dans le Livre I peut créer un tableau de primitives (qui pourrait être plus facile à gérer pour Java que des millions d'objets Class - c'est principalement ma question). – user247866