#java #arrays
#java #массивы
Вопрос:
У меня есть 4 объекта для размещения в массиве. Я не могу поместить его, если индекс содержит какой-либо другой объект. Как я должен проверить, есть ли элемент или ничего в определенном индексе массива в java. Пример;
У меня есть массив с именем numList, и он содержит некоторые значения. Я хочу добавить другое число к индексу 6. Для этого я должен проверить, содержит numList [6] значение или нет.
Комментарии:
1. Пока это массив ссылочных типов (типа
Object
s), проверьте наnull
?2. Вы имеете в виду узнать, используется ли уже элемент с заданным индексом в массиве?
3. Пожалуйста, покажите нам, что вы уже сделали. Будет полезно посмотреть ваш код.
Ответ №1:
В Java массив типов, отличных от встроенных, инициализируется null
значениями. Используйте цикл, чтобы найти наименьший индекс, с которым null
хранится:
MyObject[] array = new MyObject[mySize];
... // Populate some locations in the array, then...
int placeAt = -1;
for (int i = 0 ; i != array.length; i ) {
if (array[i] == null) {
placeAt = i;
break;
}
}
if (placeAt != -1) {
// You found the first index with a null
array[placeAt] = myNewObject;
} else {
... // Array has no empty spaces - report an error and/or exit
}
Ответ №2:
Не сходите с ума, просто проверьте, есть ли null внутри данного индекса, вот так:
if (array[index] != null) {
array[index] = yourObject1;
}
и так далее. Если вы уже назначили некоторый объект на эту позицию, то он не будет обнулен.
Ответ №3:
Вы можете использовать ArrayList в java. вы можете добавить метод непосредственно в конец списка с помощью метода add(), и если вы хотите проверить индекс, используйте метод indexOf (object o).