Combien de données une liste peut-elle contenir au maximum?
combien de données peuvent être ajoutées en java.util.Liste en Java au maximum?
Est-il une taille par défaut d'une liste de tableaux?
8 réponses
cela dépend de l'implémentation de List
. Puisque vous indexez des tableaux avec int
s, un ArrayList
ne peut contenir plus de Integer.MAX_VALUE
éléments. Un LinkedList
n'est pas limité de la même façon, cependant, et peut contenir n'importe quelle quantité d'éléments.
cela dépend de la mise en œuvre, mais la limite n'est pas définie par l'interface List
.
l'interface définit cependant la méthode size()
, qui renvoie un int
.
Renvoie le nombre d'éléments dans cette liste. Si cette liste contient plus de
Integer.MAX_VALUE
elements, renvoieInteger.MAX_VALUE
.
donc, pas de limite, mais après avoir atteint Integer.MAX_VALUE
, le comportement de la liste change un peu
ArrayList
(qui est étiqueté) est soutenu par un tableau, et est limité à la taille du tableau-i.e. Integer.MAX_VALUE
combien de données peuvent être ajoutées en java.util.Liste en Java au maximum?
C'est très similaire à limite théorique pour le nombre de clés (objets) qui peuvent être stockées dans une HashMap?
la documentation de java.util.List
n'indique aucune limite explicite quant au nombre maximum d'éléments. La documentation de List.toArray
toutefois, les états qui ...
Retourner un tableau contenant tous des éléments de cette liste dans l'ordre (du premier au dernier élément); aurait des difficultés à mettre en œuvre certaines méthodes loyalement, telles que
... a proprement parler, il ne serait pas possible d'appliquer fidèlement cette méthode si la liste comportait plus de 2 31 -1 = 2147483647 les éléments étant donné que c'est le plus grand tableau.
certains diront que la documentation de size()
...
Renvoie le nombre d'éléments dans cette liste. Si cette liste contient plus de
Integer.MAX_VALUE
elements, renvoieInteger.MAX_VALUE
.
...indique qu'il n'y a pas de limite supérieure, mais cette vue conduit à de nombreuses incohérences. Voir ce rapport de bogue .
y a-t-il une taille par défaut dans une liste de tableaux?
si vous faites référence à ArrayList
alors je dirais que la taille par défaut est 0. La valeur par défaut capacité cependant (le nombre d'éléments que vous pouvez insérer, sans forcer la liste à réattribuer la mémoire) est 10. Voir la documentation du default constructor .
le la limite de taille de ArrayList
est Integer.MAX_VALUE
puisqu'il est soutenu par un tableau ordinaire.
java.util.List
est une interface. La quantité de données qu'une liste peut contenir dépend de l'implémentation spécifique de la liste que vous choisissez d'utiliser.
généralement, une implémentation de liste peut contenir n'importe quel nombre d'éléments (si vous utilisez une liste indexée, elle peut être limitée à Integer.MAX_VALUE
ou Long.MAX_VALUE
). Tant que tu ne manques pas de mémoire, la liste ne devient pas "pleine" ou quoi que ce soit.
autant Que votre mémoire disponible. Il n'y a pas de limite de taille, sauf pour le tas.
l'interface définit cependant la méthode size (), qui renvoie un int.
Returns the number of elements in this list. If this list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
donc, pas de limite, mais après que vous atteignez entier.MAX_VALUE, le comportement de la liste change un peu
ArrayList (qui est étiqueté) est soutenu par un tableau, et est limité à la taille du tableau - c.-à-d. entier.MAX_VALUE
voir le code ci-dessous de arraylist default il est 10 quand u créer List l = new ArrayList ();
public class ArrayList<E> extends AbstractList<E> implements List<E>,
Cloneable, Serializable, RandomAccess {
private static final long serialVersionUID = 8683452581122892189L;
private transient int firstIndex;
private transient int lastIndex;
private transient E[] array;
/**
* Constructs a new instance of {@code ArrayList} with ten capacity.
*/
public ArrayList() {
this(10);
}
numérotant un élément dans le tableau java devrait commencer à zéro. Ce fut, je pense que nous pouvons avoir accès à l'Entier.MAX_VALUE+1 an items.