Как найти объект Array содержит элемент или нет? - PullRequest
0 голосов
/ 17 декабря 2011

Я работаю над массивом объектов. Я могу получать элементы до тех пор, пока не существует количество элементов. Например,

Object[] elements={"Apple","Orange","Grape","Mango","Banana"};

Я могу получить элементы по индексу, но когда я вышел за пределы длины индекса. Например, здесь у нас есть 5 элементов, последним будут доступны элементы [4], но как проверить элементы [5], элементы [6 ] существует или нет

Ответы [ 6 ]

4 голосов
/ 17 декабря 2011

Задо Во отметил, нужно проверить длину массива, например:

for(int i=0; i<elements.length; i++){
  // Check elements[i] here.
}

Кроме того, вы можете использовать новый синтаксис цикла for, представленный в Java 5:

for(Object e : elements){
  // Check e here.
}

Еще лучше, вы можете обернуть массив как List и использовать его contains метод:

* * 1010
4 голосов
/ 17 декабря 2011

Используйте elements.length, чтобы найти количество элементов в массиве.

3 голосов
/ 17 декабря 2011

Прежде чем получить элемент по индексу, вы всегда должны убедиться, что индекс действителен.Либо вы знаете, что индекс существует, потому что вы создали массив и знаете его длину, либо вы не знаете, потому что вы не создали массив, и тогда вам просто нужно проверить, является ли индекс действительным для массива:

if (index < array.length) {
    // the index is valid for this array. I can use array[index]
}

В большинстве случаев массив используется для итерации по всем его элементам, и вы просто повторяете от 0 (включительно) до длины массива (эксклюзив):

for (int i = 0; i < array.length; i++) {
    // do something with array[i]
}

В массиве примитивных типов всегда есть что-то.Массив int[] заполнен значениями int.Если не инициализировано, оно заполняется 0. Массив boolean[] по умолчанию заполняется значением false.

Массив объектов по умолчанию заполнен null.

2 голосов
/ 17 декабря 2011

В Java массив является объектом. Этот объект содержит поле public final с именем length. Это поле содержит длину массива (= количество элементов).

Итак, чтобы ответить на ваш вопрос буквально:

как проверить элементы [5], элементы [6] существуют или нет

Сравнивая индекс, который вы хотите проверить, с длиной массива.

public boolean doesIndexExist(Object[] array, int indexToCheck)
{
    return indexToCheck < array.length;
}

Чтобы использовать это в цикле, вы можете написать простой цикл for, который всегда проверяет, является ли индексный стиль меньше длины массива.

for (int index = 0; index < array.length; ++index)
{

}
1 голос
/ 17 декабря 2011

Например,

    Object[] elements = {"Apple","Orange","Grape","Mango","Banana"};

    Object obj = null;
    int elementsLength = elements.length;

    int i = 10;

    if (i < elementsLength) {
        obj = elements[i];
    } else {
        System.out.println("Oops!.. Out of index!");
    }

    if (obj != null) {
        System.out.println(obj);
    }
0 голосов
/ 17 декабря 2011

Вы можете использовать свойство length массива, чтобы идентифицировать ни один из доступных элементов. Даже вы можете написать такой метод.

Object[] elements={"Apple","Orange","Grape","Mango","Banana"};
public boolean isElementExist(int index) {
    boolean result = false;
    if(index >= 0 && index < elements.length) {
       result = true;        
    }
    return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...