Как я могу проверить, если и индекс ArrayDeque пуст?

Я пытаюсь добавить несколько строк в ArrayDeque, но сначала я должен проверить, не заполнен ли уже этот индекс. Как я могу это сделать?

У меня есть это:

 public void processarEntrada(String n){

    for ( int i = 0; i <= 3; i++){
        planta.add(n);

Каждый индекс должен быть пустым перед добавлением чего-либо

3 ответа

Вот хороший пример для вас.

import java.util.ArrayDeque;
import java.util.Iterator;

public class ArrayDequeTest {
    public static void main(String... args){

        ArrayDeque<String> aq= new ArrayDeque<String>();
        aq.add("A");
        aq.add("B");
        aq.add("C");

        //offerFirst-adds elements at the front of the ArrayDeque 
        aq.offerFirst("D");

        //offerLast inserts the element at the last of ArrayDeque 
        aq.offerLast("E");

        Iterator<String> itr= aq.iterator();
        while(itr.hasNext()){ 
            System.out.println(itr.next());
        }

    }

ArrayDeque Java документ

У массивов нет ограничений по емкости; они растут по мере необходимости для поддержки использования.

добавить (E e)
Вставляет указанный элемент в конце этой очереди.

add Метод создаст новый индекс и добавит элементы, которые индексируют.

Каждый индекс должен быть пустым перед добавлением чего-либо

Никакой дополнительной работы не требуется для реализации этого.

У меня была небольшая проблема, чтобы полностью понять вопрос. Я понял, что вы хотите добавить его в ArrayDeque, если только если массив уже не содержит строку.

Взгляните на документацию по Java:public boolean contains(Object o)

Возвращает истину, если эта дека содержит указанный элемент. Более формально, возвращает true тогда и только тогда, когда в этой деке есть хотя бы один элемент e, такой что o.equals (e).

Поэтому я бы проверил, есть ли он в ArrayDeque, а затем добавил бы его.

if(! planta.contains(theString)) planta.offer(theString);

Другие вопросы по тегам