我正在尝试在 ArrayDeque 中添加一些字符串,但首先我必须检查它是否已经填满了该索引。我该怎么做?
我有这个:
public void processarEntrada(String n){
for ( int i = 0; i <= 3; i++){
planta.add(n);
在添加任何内容之前,每个索引都必须为空
我正在尝试在 ArrayDeque 中添加一些字符串,但首先我必须检查它是否已经填满了该索引。我该怎么做?
我有这个:
public void processarEntrada(String n){
for ( int i = 0; i <= 3; i++){
planta.add(n);
在添加任何内容之前,每个索引都必须为空
这是一个很好的例子。
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 文档
数组双端队列没有容量限制;它们会根据需要增长以支持使用。
add(E e)
在此双端队列的末尾插入指定的元素。
该add
方法将创建一个新索引并添加该索引的元素。
在添加任何内容之前,每个索引都必须为空
实现这一点不需要额外的工作。
我很难完全理解这个问题。我的理解是,只有在数组不包含字符串的情况下,您才希望将其添加到 ArrayDeque 中。
查看 Java 文档:
public boolean contains(Object o)
如果此双端队列包含指定元素,则返回 true。更正式地说,当且仅当此双端队列包含至少一个元素 e 使得 o.equals(e) 时才返回 true。
所以我会检查它是否在 ArrayDeque 中,然后添加它。
if(! planta.contains(theString)) planta.offer(theString);