NavigableMap public interface NavigableMap<K,V> extends SortedMap<K,V> 使用navigation方法扩展的 SortedMap,返回给定搜索目标的最接近匹配项。 方法lowerEntry、floorEntry、ceilingEntry和higherEntry分别返回与键关联的Map.Entry对象小于、小于或等于、大于或等于、大于给定键,如果没有该键则返回null。 类似地,方法lowerKey、floorKey、ceilingKey 和higherKey 仅返回关联的键。 所有这些方法都是为定位而不是遍历条目而设计的。 可以按升序或降序键顺序访问和遍历 NavigableMap。 descendingMap 方法返回一个map视图,其中所有关系和方向方法的意义都颠倒了。 上升的操作和视图的性能可能比下降的快。 方法 subMap、headMap 和 tailMap 与类似命名的 SortedMap 方法的不同之处在于接受描述下限和上限是包含还是排除的附加参数。 任何 NavigableMap 的子图都必须实现 NavigableMap 接口。 此接口还定义了方法 firstEntry、pollFirstEntry、lastEntry 和 pollLastEntry,它们返回和/或删除最小和最大映射(如果存在),否则返回 null。 条目返回方法的实现应返回 Map.Entry 对,表示映射在生成时的快照,因此通常不支持可选的 Entry.setValue 方法。 但是请注意,可以使用 put 方法更改关联映射中的映射。 方法 subMap(K, K)、headMap(K) 和 tailMap(K) 指定返回 SortedMap 以允许对 SortedMap 的现有实现进行兼容改进以实现 NavigableMap,但鼓励此接口的扩展和实现覆盖这些方法 返回 NavigableMap。 同样,可以重写 SortedMap.keySet() 以返回 NavigableSet。 此接口是 Java 集合框架的成员。 嵌套类摘要 从接口 java.util.Map 继承的嵌套类/接口 Map.Entry<K,V> 方法总结 修饰符和类型 方法 描述 Map.Entry<K,V> ceilingEntry(K key) 返回与大于或等于给定键的最小键关联的键值映射,如果没有这样的键,则返回 null。 K ceilingKey(K key) 返回大于或等于给定键的最小键,如果没有这样的键,则返回 null。 NavigableSetK descendingKeySet() 返回此映射中包含的键的逆序 NavigableSet 视图。 NavigableMapK,V descendingMap() 返回此映射中包含的映射的逆序视图。 Map.EntryK,V firstEntry() 返回与此映射中的最小键关联的键值映射,如果映射为空,则返回 null。 Map.EntryK,V floorEntry(K key) 返回与小于或等于给定键的最大键关联的键值映射,如果没有这样的键,则返回 null。 K floorKey(K key) 返回小于或等于给定键的最大键,如果没有这样的键,则返回 null。 SortedMapK,V headMap(K toKey) 返回此映射部分的视图,其键严格小于 toKey。 NavigableMapK,V headMap(K toKey, boolean inclusive) 返回此映射部分的视图,其键小于(或等于,如果 inclusive 为真)toKey。 Map.EntryK,V higherEntry(K key) 返回与严格大于给定键的最小键关联的键值映射,如果没有这样的键,则返回 null。 K higherKey(K key) 返回严格大于给定键的最小键,如果没有这样的键,则返回 null。 Map.EntryK,V lastEntry() 返回与此映射中最大键关联的键值映射,如果映射为空,则返回 null。 Map.EntryK,V lowerEntry(K key) 返回与严格小于给定键的最大键关联的键值映射,如果没有这样的键,则返回 null。 K lowerKey(K key) 返回严格小于给定键的最大键,如果没有这样的键,则返回 null。 NavigableSetK navigableKeySet() 返回此map中包含的键的 NavigableSet 视图。 Map.EntryK,V pollFirstEntry() 移除并返回与此映射中最小键关联的键值映射,如果映射为空,则返回 null。...
Map.Entry public static interface Map.Entry<K,V> 映射条目(键值对)。 Map.entrySet 方法返回map的集合视图,其元素属于此类。 获取对映射条目的引用的唯一方法是从此集合视图的迭代器。 这些 Map.Entry 对象仅在迭代期间有效; 更正式地说,如果在迭代器返回条目之后修改了支持映射,则映射条目的行为是未定义的,除非通过对映射条目的 setValue 操作。 方法总结 修饰符和类型 方法 描述 static <K extends Comparable<? super K>,V>Comparator<Map.Entry<K,V>> comparingByKey() 返回一个比较器,它按键的自然顺序比较 Map.Entry。 static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp) 返回一个比较器,它使用给定的比较器按键比较 Map.Entry。 static <K,V extends Comparable<? super V>>Comparator<Map.Entry<K,V>> comparingByValue() 返回一个比较器,它按自然顺序比较 Map.Entry 的值。 static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp) 返回一个使用给定 Comparator 按值比较 Map.Entry 的比较器。 boolean equals(Object o) 比较指定对象与此条目是否相等。 K getKey() 返回与该条目对应的键。 V getValue() 返回与该条目对应的值。 int hashCode() 返回此映射条目的哈希码值。 V setValue(V value) 用指定的值替换与该条目对应的值(可选操作)。 方法详情 getKey K getKey() 返回与该条目对应的键。 返回: 此条目对应的键 Throws: Throw名称 Throw描述 IllegalStateException 如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。 getValue V getValue() 返回与该条目对应的值。 如果映射已从支持映射中删除(通过迭代器的删除操作),则此调用的结果是未定义的。 返回: 此条目对应的值 Throws: Throw名称 Throw描述 IllegalStateException 如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。 setValue V setValue(V value) 用指定的值替换与该条目对应的值(可选操作)。 (写入映射。)如果映射已经从映射中删除(通过迭代器的删除操作),则此调用的行为是未定义的。 参数: 参数名称 参数描述 value 要存储在此条目中的新值 返回: 对应条目的旧值 Throws: Throw名称 Throw描述 UnsupportedOperationException 如果支持映射不支持 put 操作 ClassCastException 如果指定值的类阻止它存储在支持映射中 NullPointerException 如果后备映射不允许空值,并且指定的值为空 IllegalArgumentException 如果此值的某些属性阻止它存储在支持映射中 IllegalStateException 如果条目已从支持映射中删除,则实现可以但不是必须抛出此异常。 equals boolean equals(Object o) 比较指定对象与此条目是否相等。 如果给定对象也是一个映射条目并且这两个条目表示相同的映射,则返回 true。 更正式地说,两个条目 e1 和 e2 表示相同的映射,如果 (e1.getKey()==null ? e2.getKey()==null : e1.getKey().equals(e2.getKey())) && (e1.getValue()==null ? e2.getValue()==null : e1.getValue().equals(e2.getValue())) 这确保了...
Map public interface Map<K,V> 将键映射到值的对象。 map不能包含重复的键; 每个键最多可以映射到一个值。 这个接口代替了 Dictionary 类,它是一个完全抽象的类,而不是一个接口。 Map 接口提供三个集合视图,允许将映射的内容视为一组键、值集合或键值映射集。 map的顺序定义为map集合视图上的迭代器返回其元素的顺序。 一些map实现,如 TreeMap 类,对它们的顺序做出特定的保证; 其他的,比如 HashMap 类,不这样做。 注意:如果将可变对象用作映射键,则必须非常小心。 如果对象的值以影响等于比较的方式更改,而对象是映射中的键,则不指定映射的行为。 此禁令的一个特殊情况是不允许映射包含自己作为键。 虽然允许映射将自身作为值包含在内,但建议格外小心:equals 和 hashCode 方法不再在此类映射上得到很好的定义。 所有通用映射实现类都应该提供两个“标准”构造函数:一个 void(无参数)构造函数,它创建一个空映射,以及一个具有单个 Map 类型参数的构造函数,它创建一个具有相同键值的新映射,映射作为它的参数。 实际上,后一个构造函数允许用户复制任何映射,生成所需类的等效映射。 没有办法强制执行此建议(因为接口不能包含构造函数),但 JDK 中的所有通用映射实现都符合。 此接口中包含的“破坏性”方法,即修改其操作的映射的方法,如果此映射不支持该操作,则指定抛出 UnsupportedOperationException。 如果是这种情况,如果调用对map没有影响,这些方法可能会但不是必须抛出 UnsupportedOperationException。 例如,如果要“叠加”映射的映射为空,则在不可修改的映射上调用 putAll(java.util.Map) 方法可能但不是必须抛出异常。 一些map实现对它们可能包含的键和值有限制。 例如,一些实现禁止空键和值,而一些实现对其键的类型有限制。 尝试插入不合格的键或值会引发未经检查的异常,通常是 NullPointerException 或 ClassCastException。 尝试查询是否存在不合格的键或值可能会引发异常,或者它可能只是返回 false; 一些实现会表现出前一种行为,而另一些会表现出后者。 更一般地,尝试对不合格的键或值进行操作,其完成不会导致将不合格的元素插入到映射中,这可能会引发异常,也可能会成功,这取决于实现的选择。 此类异常在此接口的规范中被标记为“可选”。 Collections Framework 接口中的许多方法都是根据 Object#equals(Object) 方法定义的。 例如, containsKey(Object key) 方法的规范说:“当且仅当此映射包含键 k 的映射时才返回 true 使得 (key==null ? k==null : key.equals(k) )。” 本规范不应被解释为暗示使用非空参数键调用 Map.containsKey 将导致对任何键 k 调用 key.equals(k)。 实现可以自由地实现优化,从而避免调用 equals,例如,首先比较两个键的哈希码。 (Object#hashCode() 规范保证具有不相等哈希码的两个对象不能相等。)更一般地说,各种集合框架接口的实现可以自由地利用底层 Object 方法的指定行为,只要实现者认为它合适 . 一些执行map递归遍历的map操作可能会失败,但map直接或间接包含自身的自引用实例除外。 这包括 clone()、equals()、hashCode() 和 toString() 方法。 实现可以选择处理自引用场景,但是大多数当前的实现不这样做。 此接口是 Java 集合框架的成员。 嵌套类摘要 修饰符和类型 接口 描述 static interface Map.Entry<K,V> 映射条目(键值对)。 方法总结 修饰符和类型 方法 描述 void clear() 修饰符和类型从此映射中删除所有映射(可选操作)。 default V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 尝试计算指定键及其当前映射值的映射(如果没有当前映射,则为 null)。 default V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) 如果指定的键尚未与值关联(或映射为 null),则尝试使用给定的映射函数计算其值并将其输入到此映射中,除非为 null。 default V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) 如果指定键的值存在且非空,则尝试在给定键及其当前映射值的情况下计算新映射。 boolean containsKey(Object key) 如果此映射包含指定键的映射,则返回 true。...
ListIterator public interface ListIterator<E> extends Iterator<E> 列表的迭代器,允许程序员在任一方向遍历列表,在迭代期间修改列表,并获取迭代器在列表中的当前位置。 ListIterator 没有当前元素; 它的光标位置始终位于调用 previous() 将返回的元素与调用 next() 将返回的元素之间。 长度为 n 的列表的迭代器有 n+1 个可能的光标位置,如下面的插入符号 (^) 所示: Element(0) Element(1) Element(2) ... Element(n-1) cursor positions: ^ ^ ^ ^ ^ 请注意,remove() 和 set(java.lang.Object) 方法不是根据光标位置定义的; 它们被定义为对调用 next() 或 previous() 返回的最后一个元素进行操作。 此接口是 Java 集合框架的成员。 方法总结 修饰符和类型 方法 描述 void add(E e) 将指定元素插入列表(可选操作)。 boolean hasNext() 如果此列表迭代器在向前遍历列表时具有更多元素,则返回 true。 boolean hasPrevious() 如果此列表迭代器在反向遍历列表时具有更多元素,则返回 true。 E next() 返回列表中的下一个元素并前进光标位置。 int nextIndex() 返回将由后续调用 next() 返回的元素的索引。 E previous() 返回列表中的前一个元素并将光标位置向后移动。 int previousIndex() 返回将由后续调用 previous() 返回的元素的索引。 void remove() 从列表中删除 next() 或 previous() 返回的最后一个元素(可选操作)。 void set(E e) 将 next() 或 previous() 返回的最后一个元素替换为指定元素(可选操作)。 从接口 java.util.Iterator 继承的方法 forEachRemaining 方法详情 hasNext boolean hasNext() 如果此列表迭代器在向前遍历列表时具有更多元素,则返回 true。 (换句话说,如果 next() 将返回一个元素而不是抛出异常,则返回 true。) 指定者: 接口 IteratorE 中的 hasNext 返回: 如果在向前遍历列表时列表迭代器有更多元素,则为 true next E next() 返回列表中的下一个元素并前进光标位置。 可以重复调用此方法以遍历列表,或与调用 previous() 混合以来回移动。 (请注意,交替调用 next 和 previous 将重复返回相同的元素。) 指定者: 接口 IteratorE 中的下一个 返回: 列表中的下一个元素 Throws: Throw名称 Throw描述 NoSuchElementException...
List public interface List<E> extends Collection<E> 有序集合(也称为序列)。 此界面的用户可以精确控制每个元素在列表中的插入位置。 用户可以通过整数索引(列表中的位置)访问元素,并在列表中搜索元素。 与集合不同,列表通常允许重复元素。 更正式地说,列表通常允许元素 e1 和 e2 对,例如 e1.equals(e2),并且如果它们完全允许 null 元素,它们通常允许多个 null 元素。 有人可能希望通过在用户尝试插入它们时抛出运行时异常来实现一个禁止重复的列表,这并非不可想象,但我们希望这种用法很少见。 List 接口对迭代器、add、remove、equals 和 hashCode 方法的合约添加了超出 Collection 接口中指定的附加规定。 为方便起见,此处还包括其他继承方法的声明。 List 接口提供了四种对列表元素进行位置(索引)访问的方法。 列表(如 Java 数组)是从零开始的。 请注意,对于某些实现(例如 LinkedList 类),这些操作的执行时间可能与索引值成正比。 因此,如果调用者不知道实现,则迭代列表中的元素通常比通过它索引更可取。 List 接口提供了一个特殊的迭代器,称为 ListIterator,除了 Iterator 接口提供的正常操作之外,它还允许元素插入和替换以及双向访问。 提供了一种方法来获取从列表中指定位置开始的列表迭代器。 List 接口提供了两种方法来搜索指定的对象。 从性能的角度来看,应谨慎使用这些方法。 在许多实现中,它们将执行代价高昂的线性搜索。 List 接口提供了两种方法来有效地在列表中的任意点插入和删除多个元素。 注意:虽然允许列表将自身包含为元素,但建议格外小心:equals 和 hashCode 方法不再在此类列表上得到很好的定义。 一些列表实现对它们可能包含的元素有限制。 例如,一些实现禁止空元素,而一些实现对其元素的类型有限制。 尝试添加不合格的元素会引发未经检查的异常,通常是 NullPointerException 或 ClassCastException。 尝试查询不合格元素的存在可能会引发异常,或者它可能只是返回 false; 一些实现会表现出前一种行为,而另一些会表现出后者。 更一般地,尝试对不合格元素进行操作,其完成不会导致将不合格元素插入到列表中,这可能会引发异常,也可能会成功,这取决于实现的选择。 此类异常在此接口的规范中被标记为“可选”。 此接口是 Java 集合框架的成员。 方法总结 修饰符和类型 方法 描述 void add(int index, E element) 在此列表中的指定位置插入指定元素(可选操作)。 boolean add(E e) 将指定元素附加到此列表的末尾(可选操作)。 boolean addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 boolean addAll(Collection<? extends E> c) 将指定集合中的所有元素附加到此列表的末尾,按照指定集合的迭代器返回的顺序(可选操作)。 void clear() 从此列表中删除所有元素(可选操作)。 boolean contains(Object o) 如果此列表包含指定元素,则返回 true。 boolean containsAll(Collection<?> c) 如果此列表包含指定集合的所有元素,则返回 true。 boolean equals(Object o) 比较指定对象与此列表是否相等。 E get(int index) 返回此列表中指定位置的元素。 int hashCode() 返回此列表的哈希码值。 int indexOf(Object o) 返回此列表中指定元素第一次出现的索引,如果此列表不包含该元素,则返回 -1。 boolean isEmpty() 如果此列表不包含任何元素,则返回 true。 IteratorE iterator() 以正确的顺序返回此列表中元素的迭代器。 int lastIndexOf(Object o) 返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1。 ListIteratorE listIterator() 返回此列表中元素的列表迭代器(以正确的顺序)。 ListIteratorE listIterator(int index) 返回此列表中元素的列表迭代器(以正确的顺序),从列表中的指定位置开始。...
Iterator public interface Iterator<E> 集合上的迭代器。 迭代器在 Java 集合框架中取代了枚举。 迭代器在两个方面不同于枚举: 迭代器允许调用者在具有明确定义的语义的迭代期间从底层集合中删除元素。 方法名称已得到改进。 此接口是 Java 集合框架的成员。 方法总结 修饰符和类型 方法 描述 default void forEachRemaining(Consumer<? super E> action) 对每个剩余元素执行给定的操作,直到所有元素都已处理或该操作引发异常。 boolean hasNext() 如果迭代有更多元素,则返回 true。 E next() 返回迭代中的下一个元素。 default void remove() 从基础集合中移除此迭代器返回的最后一个元素(可选操作)。 方法详情 hasNext boolean hasNext() 如果迭代有更多元素,则返回 true。 (换句话说,如果 next() 将返回一个元素而不是抛出异常,则返回 true。) 返回: 如果迭代有更多元素,则为 true next E next() 返回迭代中的下一个元素。 返回: 迭代中的下一个元素 Throws: Throw名称 Throw描述 NoSuchElementException 如果迭代没有更多元素 remove default void remove() 从基础集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用 next() 时只能调用一次此方法。 如果在迭代过程中以除调用此方法之外的任何方式修改了基础集合,则迭代器的行为是未指定的。 Throws: Throw名称 Throw描述 UnsupportedOperationException 如果此迭代器不支持删除操作 IllegalStateException 如果下一个方法还没有被调用,或者在最后一次调用下一个方法之后已经调用了remove方法 forEachRemaining default void forEachRemaining(Consumer<? super E> action) 对每个剩余元素执行给定的操作,直到所有元素都已处理或该操作引发异常。 如果指定了迭代顺序,则按迭代顺序执行操作。 操作引发的异常将转发给调用者。 参数: 参数名称 参数描述 action 为每个元素执行的操作 Throws: Throw名称 Throw描述 NullPointerException 如果指定的操作为空
Formattable public interface Formattable Formattable 接口必须由任何需要使用 Formatter 的 ‘s’ 转换说明符执行自定义格式化的类来实现。 该接口允许对任意对象进行格式化的基本控制。 例如,以下类根据标志和长度限制打印出股票名称的不同表示: import java.nio.CharBuffer; import java.util.Formatter; import java.util.Formattable; import java.util.Locale; import static java.util.FormattableFlags.*; ... public class StockName implements Formattable { private String symbol, companyName, frenchCompanyName; public StockName(String symbol, String companyName, String frenchCompanyName) { ... } ... public void formatTo(Formatter fmt, int f, int width, int precision) { StringBuilder sb = new StringBuilder(); // decide form of name String name = companyName; if (fmt.locale().equals(Locale.FRANCE)) name = frenchCompanyName; boolean alternate = (f & ALTERNATE) == ALTERNATE; boolean usesymbol = alternate || (precision != -1 && precision < 10); String out = (usesymbol ? symbol : name); // apply precision if (precision == -1 || out.length() < precision) { // write it all...
EventListener public interface EventListener 所有事件侦听器接口都必须扩展的标记接口。
Enumeration public interface Enumeration<E> 实现 Enumeration 接口的对象一次生成一系列元素。 对 nextElement 方法的连续调用会返回该系列的连续元素。 例如,要打印 Vector<E> v 的所有元素: for (Enumeration<E> e = v.elements(); e.hasMoreElements();) System.out.println(e.nextElement()); 提供了方法来枚举向量的元素、散列表的键和散列表中的值。 枚举还用于指定 SequenceInputStream 的输入流。 注意:此接口的功能与迭代器接口相同。 此外,Iterator 添加了一个可选的删除操作,并且具有更短的方法名称。 新的实现应该考虑使用迭代器而不是枚举。 方法总结 修饰符和类型 方法 描述 boolean hasMoreElements() 测试此枚举是否包含更多元素。 E nextElement() 如果此枚举对象至少还有一个要提供的元素,则返回此枚举的下一个元素。 方法详情 hasMoreElements boolean hasMoreElements() 测试此枚举是否包含更多元素。 返回: 当且仅当此枚举对象包含至少一个要提供的元素时才为true; 否则为false。 nextElement E nextElement() 如果此枚举对象至少还有一个要提供的元素,则返回此枚举的下一个元素。 返回: 此枚举的下一个元素。 Throws: Throw名称 Throw描述 NoSuchElementException 如果没有更多元素存在。
Deque public interface Deque<E> extends Queue<E> 支持两端元素插入和移除的线性集合。 名称 deque 是“双端队列”的缩写,通常发音为“deck”。 大多数 Deque 实现对其可能包含的元素数量没有固定限制,但此接口支持容量受限的双端队列以及没有固定大小限制的双端队列。 该接口定义了访问双端队列两端元素的方法。 提供了插入、删除和检查元素的方法。 这些方法中的每一种都以两种形式存在:一种在操作失败时抛出异常,另一种返回一个特殊值(null 或 false,取决于操作)。 后一种形式的插入操作是专门为容量受限的 Deque 实现而设计的; 在大多数实现中,插入操作不会失败。 下表总结了上述十二种方法: 该接口扩展了 Queue 接口。 当双端队列用作队列时,会产生 FIFO(先进先出)行为。 元素在双端队列的末尾添加并从开头删除。 从 Queue 接口继承的方法与 Deque 方法完全等价,如下表所示: 双端队列也可以用作 LIFO(后进先出)堆栈。应优先使用此接口而不是旧的 Stack 类。当双端队列用作堆栈时,从双端队列的开头推送和弹出元素。 Stack 方法完全等同于 Deque 方法,如下表所示: 请注意,当双端队列用作队列或堆栈时,peek 方法同样有效;在任何一种情况下,元素都是从双端队列的开头绘制的。 该接口提供了两种移除内部元素的方法,removeFirstOccurrence 和 removeLastOccurrence。 与 List 接口不同,此接口不支持对元素的索引访问。 虽然没有严格要求 Deque 实现禁止插入 null 元素,但强烈鼓励他们这样做。强烈建议允许使用 null 元素的任何 Deque 实现的用户不要利用插入 null 的能力。这是因为 null 被各种方法用作特殊返回值来指示双端队列为空。 Deque 实现通常不定义 equals 和 hashCode 方法的基于元素的版本,而是从类 Object 继承基于身份的版本。 此接口是 Java 集合框架的成员。 方法总结 修饰符和类型 方法 描述 boolean add(E e) 如果可以在不违反容量限制的情况下立即将指定元素插入此双端队列表示的队列中(换句话说,在此双端队列的尾部),则在成功时返回 true 并在当前没有可用空间时抛出 IllegalStateException . void addFirst(E e) 如果可以在不违反容量限制的情况下立即插入指定元素,则在此双端队列的前面插入指定元素,如果当前没有可用空间,则抛出 IllegalStateException。 void addLast(E e) 如果可以在不违反容量限制的情况下立即插入指定元素,则在此双端队列末尾插入指定元素,如果当前没有可用空间,则抛出 IllegalStateException。 boolean contains(Object o) 如果此双端队列包含指定元素,则返回 true。 IteratorE descendingIterator() 以相反的顺序返回此双端队列中元素的迭代器。 E element() 检索但不删除此双端队列表示的队列的头部(换句话说,此双端队列的第一个元素)。 E getFirst() 检索但不删除此双端队列的第一个元素。 E getLast() 检索但不删除此双端队列的最后一个元素。 IteratorE iterator() 以正确的顺序返回此双端队列中元素的迭代器。 boolean offer(E e) 如果可以在不违反容量限制的情况下立即执行此操作,则将指定元素插入此双端队列表示的队列中(换句话说,在此双端队列的尾部),成功时返回 true,如果当前没有可用空间则返回 false。 boolean offerFirst(E e) 在此双端队列的前面插入指定元素,除非它违反容量限制。 boolean offerLast(E e) 在此双端队列末尾插入指定元素,除非它违反容量限制。 E peek() 检索但不删除此双端队列表示的队列的头部(换句话说,此双端队列的第一个元素),如果此双端队列为空,则返回 null。 E peekFirst() 检索但不删除此双端队列的第一个元素,如果此双端队列为空,则返回 null。...