Ile danych może pomieścić maksymalnie lista?
Ile danych można dodać w Javie.util.Lista w Javie na maksimum?
Czy istnieje jakiś domyślny rozmiar ArrayList?
8 answers
Zależy to od implementacji List
. Ponieważ indeksujesz tablice za pomocą int
s, {[2] }nie może zawierać więcej niż Integer.MAX_VALUE
elementów. A LinkedList
nie jest ograniczony w ten sam sposób i może zawierać dowolną ilość elementów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-22 09:49:46
Zależy to od implementacji, ale limit nie jest zdefiniowany przez interfejs List
.
Interfejs definiuje jednak metodę size()
, która zwraca int
.
Zwraca liczbę elementów z tej listy. Jeśli lista zawiera więcej niż
Integer.MAX_VALUE
elementów, zwracaInteger.MAX_VALUE
.
Więc, bez limitu, ale po osiągnięciu Integer.MAX_VALUE
, zachowanie listy zmienia się trochę
ArrayList
(który jest oznaczony) jest wspierany przez tablicę i jest ograniczony do wielkość tablicy-tzn. Integer.MAX_VALUE
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-22 09:53:43
ile danych można dodać w Javie.util.Lista w Javie na maksimum?
Jest to bardzo podobne do teoretycznego limitu liczby kluczy (obiektów), które mogą być przechowywane w Hashmapie?
Dokumentacja java.util.List
nie dokumentuje jednoznacznie limitu maksymalnej liczby elementów. Dokumentacja List.toArray
jednak stwierdza, że ...
Zwraca tablicę zawierającą wszystkie elementów w tym lista w odpowiedniej kolejności (od pierwszego do ostatniego elementu); miałyby problemy z wiernym wdrażaniem pewnych metod, takich jak
... tak ściśle mówiąc, nie byłoby możliwe wierne wdrożenie tej metody, gdyby lista miała więcej niż 231-1 = 2147483647 elementów, ponieważ jest to największa możliwa tablica.
Niektórzy twierdzą, że dokumentacja size()
...
Zwraca liczbę elementów z tej listy. Jeśli lista ta zawiera więcej niż
Integer.MAX_VALUE
elements, returnsInteger.MAX_VALUE
.
...wskazuje, że nie ma górnej granicy, ale Widok ten prowadzi do licznych niespójności. Zobacz ten raport o błędzie .
czy istnieje jakiś domyślny rozmiar listy tablic?
Jeśli odnosisz się do ArrayList
to powiedziałbym, że domyślny rozmiar to 0. Domyślna Pojemność (liczba elementów, które można wstawić, bez zmuszania listy do realokacji pamięci) to 10. Zobacz dokumentację konstruktor domyślny .
Limit rozmiaru ArrayList
wynosi Integer.MAX_VALUE
, ponieważ jest wspierany przez zwykłą tablicę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:14
java.util.List
jest interfejsem. To, ile danych może pomieścić lista, zależy od konkretnej implementacji listy, której chcesz użyć.
Ogólnie, implementacja listy może zawierać dowolną liczbę elementów (jeśli używasz listy zindeksowanej, może być ograniczona do Integer.MAX_VALUE
lub Long.MAX_VALUE
). Dopóki nie zabraknie Ci pamięci, lista nie stanie się" pełna " czy coś.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-22 09:40:34
Na tyle, na ile pozwoli Twoja dostępna pamięć. Nie ma limitu wielkości poza stertą.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-22 09:40:25
Interfejs definiuje jednak metodę size (), która zwraca int.
Returns the number of elements in this list. If this list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
Więc, bez limitu, ale po osiągnięciu liczby całkowitej.MAX_VALUE, zachowanie listy zmienia się nieco
ArrayList (która jest oznaczona) jest wspierana przez tablicę i jest ograniczona do rozmiaru tablicy - tj. liczby całkowitej.MAX_VALUE
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 11:20:16
Zobacz poniższy kod arraylist domyślnie jest to 10, gdy tworzysz 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);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-22 11:28:12
Numeracja elementów w tablicy java powinna zaczynać się od zera. Myślę, że możemy mieć dostęp do Integer.MAX_VALUE+1 szt.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-16 09:27:37