2015-10-26 2 views
0

Есть ли способ заполнить массив неограниченными индексами в java? Я просто хочу, чтобы программа продолжала добавлять к массиву без какой-либо емкости.Заполнение массива неограниченным индексом - Java

я заявил так:

int arrInt[] = new int[]

Но он говорит, что отсутствует измерение. Итак, как я могу это сделать?

+1

Вместо этого вы можете использовать ArrayList - он неограничен и проще в обращении. – i23

ответ

3

массив в Java является статическим, то есть. вы должны объявить свой размер при инициализации. Следовательно, ответ «нет», и вы получаете правильное сообщение, поскольку вы не упомянули измерение.

+0

Спасибо за ваши знания по этому вопросу! XD –

+0

Спасибо за подтверждение типа – darthvading

1

Нет, нет.

ArrayList служит для этой цели (т. Е. Список на основе массива, чья емкость автоматически увеличивается с течением времени при добавлении к нему элементов).

+0

Хорошо, я думаю, что буду использовать этот метод также. XD –

1

В java массивы имеют максимальное количество элементов, равное Integer.MAX_VALUE - 5. Чтобы обойти это, попробуйте использовать LinkedList, который имеет неограниченное количество элементов. Поскольку это список, вы можете изменять размер, когда это необходимо в коде. Обратите внимание: ArrayList также имеет максимальное количество элементов Integer.MAX_VALUE, поэтому LinkedList необходим, если вам действительно нужен список неограниченного размера.

Ресурс: http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html

+0

Спасибо. Я это рассмотрю! XD –

+0

Даже для LinkedList функции, такие как 'add (index, element)' или 'indexOf (element)', начнут разрушаться, если вы каким-то образом превысите элементы max_int. (не уверен, как бы вы построили такой огромный список на практике, хотя) – Thilo

1

Есть ли способ заполнить массив неограниченными индексами в java?

NO

Я просто хочу, чтобы программа, чтобы добавить его к массиву без емкости.

нужно использовать ArrayList

List<Object> arr = new ArrayList<Object>(); 
arr.add(obj1); 
arr.add(obj2); 
arr.add(obj3); .. so on 

Я объявил, как это - INT arrInt [] = новый INT []. Но он говорит, что у него отсутствует размер.

Массивы всегда будут жаловаться, чтобы объявить размер.