Я использую ArrayList<String>
и я добавляю данные в определенных индексах, как я могу проверить, существует ли определенный индекс?
Если я просто get()
и проверьте значение? Или я должен ожидать исключения? Есть ли иначе?
Спасибо за Ваши ответы, но потому что я только добавляю материал в определенных индексах, длина списка не покажет мне, которые доступны.
Способ ArrayList.size ()
Возвращает Количество элементов в списке - поэтому, если индекс больше или равен размеру ()
, это не существует.
if(index >= myList.size()){
//index not exists
}else{
// index exists
}
относительно вашего обновления (что, вероятно, должно быть еще одним вопросом). Вы должны использовать массив этих объектов вместо арайлиста, Таким образом, вы можете просто проверить значение для NULL:
Object[] array = new Object[MAX_ENTRIES];
..
if ( array[ 8 ] == null ) {
// not available
}
else {
// do something
}
Лучшая практика
Если у вас нет сотен записей в своем массиве, вы должны рассмотреть возможность организации его в качестве класса, чтобы избавиться от магии 3,8 и т. Д. ,
Контрольный поток с использованием исключения является плохим практикой.
Да, у меня та же проблема, я только что удалил css style дисплей: inline
и добавил дисплей: list-item; float: left;
моя проблема решена, надеюсь, это поможет.
Спасибо, Sankar B
-121--3096265- Метод getAccuracy ()
объекта Location, возвращаемый onLocationChanged
, дает хорошее представление о том, насколько хорош «fix».
Это то, что вам нужно...
public boolean indexExists(final List list, final int index) {
return index >= 0 && index < list.size();
}
Почему бы не использовать простой старый массив? Индексированный доступ к списку - это кодовый запах, я думаю.
Вы можете проверить размер ArrayList
Использование размера ()
метода. Это вернет максимальный индекс +1
Если ваш индекс меньше размера вашего списка, то он существует, возможно, с значением
значение. Если индекс больше, то вы можете позвонить Sensurecapacity ()
, чтобы иметь возможность использовать этот индекс.
Если вы хотите проверить, является ли значение по вашему индексу NULL
или нет, вызов Get ()
Вы можете проверить размер массива.
package sojava;
import java.util.ArrayList;
public class Main {
public static Object get(ArrayList list, int index) {
if (list.size() > index) { return list.get(index); }
return null;
}
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(""); list.add(""); list.add("");
System.out.println(get(list, 4));
// prints 'null'
}
}