Quelle est la différence entre List et ArrayList? [dupliquer]
cette question a déjà une réponse ici:
- Liste Type de rapport type ArrayList en Java 15 réponses
- Qu'est-ce qu'une liste contre un ArrayList? [duplicate] 6 réponses
j'ai utilisé ArrayList récemment dans mon projet android au bureau et je suis un peu confus entre List et ArrayList, Quelle est la différence des deux et que dois-je utiliser?
J'ai aussi vu quelques implémentations de celui-ci comme.
List<SomeObject> myList = new ArrayList<SomeObject>();
ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
Quelle est la différence entre ces deux cas?
1 réponses
il n'y a pas de différence entre les implémentations list dans vos deux exemples. Il y a cependant une différence dans la façon dont vous pouvez utiliser mylist variable dans votre code.
quand vous définissez votre liste comme:
List myList = new ArrayList();
vous ne pouvez appeler que les méthodes et les membres de référence qui sont définis dans L'interface de liste. Si vous le définissez comme:
ArrayList myList = new ArrayList();
vous serez en mesure d'invoquer les méthodes spécifiques ArrayList-spécifiques et l'utilisation Membres spécifiques à l'ArrayList en plus de ceux dont les définitions sont héritées de List.
Néanmoins, lorsque vous appelez une méthode D'une interface de liste dans le premier exemple, qui a été implémentée dans ArrayList, la méthode de ArrayList sera appelée (parce que L'interface de liste n'implémente aucune méthode).
ça s'appelle du polymorphisme. Vous pouvez la lire.