Here's a possible counter-patch that removes a lot of text by delegating
most of the wording to the Deque javadoc, and makes LinkedList's Dequeness
as first-class as its Listness.

diff --git a/src/share/classes/java/util/LinkedList.java
b/src/share/classes/java/util/LinkedList.java
--- a/src/share/classes/java/util/LinkedList.java
+++ b/src/share/classes/java/util/LinkedList.java
@@ -26,18 +26,9 @@
 package java.util;

 /**
- * Linked list implementation of the {...@code List} interface.  Implements
all
- * optional list operations, and permits all elements (including
- * {...@code null}).  In addition to implementing the {...@code List} 
interface,
- * the {...@code LinkedList} class provides uniformly named methods to
- * {...@code get}, {...@code remove} and {...@code insert} an element at the
- * beginning and end of the list.  These operations allow linked lists to
be
- * used as a stack, {...@linkplain Queue queue}, or {...@linkplain Deque
- * double-ended queue}.
- *
- * <p>The class implements the {...@code Deque} interface, providing
- * first-in-first-out queue operations for {...@code add},
- * {...@code poll}, along with other stack and deque operations.
+ * Linked list implementation of the {...@link List} and {...@link Deque}
interfaces.
+ * Implements all optional operations, and permits all elements (including
+ * {...@code null}).
  *
  * <p>All of the operations perform as could be expected for a
doubly-linked
  * list.  Operations that index into the list will traverse the list from

Martin

On Thu, Jul 22, 2010 at 09:40, Joe Darcy <[email protected]> wrote:

> Martin Buchholz wrote:
>
>> Perhaps much of the text is redundant with the specification in the second
>> paragraph, that talks about how a LinkedList is also a Deque.
>>
>> Perhaps the sentence starting
>> In addition to
>>
>>
>>  should be removed, a remnant of a time when LinkedList did not implement
>> Deque?
>>
>
> Hmm.  I'm more inclined to keep the revised sentence
>
> "In addition to implementing the List interface, the LinkedList class
> provides uniformly named methods to get, remove and add an element at the
> beginning (operationFirst) and end (operationLast) of the list."
>
> and combine the next two sentences like so:
>
> "These operations allow linked lists to be used as a stack, queue, or deque
> (double-ended queue); implementing the Deque interface includes support for
> first-in-first-out operations for add and poll."
>
> What do you think?
>
> -Joe
>
>>
>> Martin
>>
>>
>> On Wed, Jul 21, 2010 at 19:04, Joe Darcy <[email protected] <mailto:
>> [email protected]>> wrote:
>>
>>    Hello.
>>
>>    Please code review this simple fix to the LinkedList javadoc for
>>    bug 6717780 "(coll spec) LinkedList api documentation provides the
>>    wrong method name:" in the sentence
>>
>>    "In addition to implementing the List interface, the LinkedList
>>    class provides uniformly named methods to get, remove and insert
>>    an element at the beginning and end of the list."
>>
>>    the word "insert" should be "add".  I've also added text to
>>    explicitly state that the beginning-of-list methods are
>>    operationFirst and the end of list methods are operationLast.
>>
>>    Patch below, full webrev at
>>    
>> http://cr.openjdk.java.net/~darcy/6717780.0/<http://cr.openjdk.java.net/%7Edarcy/6717780.0/>
>>    <http://cr.openjdk.java.net/%7Edarcy/6717780.0/>
>>
>>
>>    Thanks,
>>
>>    -Joe
>>
>>    --- old/src/share/classes/java/util/LinkedList.java    2010-07-21
>>    18:58:12.000000000 -0700
>>    +++ new/src/share/classes/java/util/LinkedList.java    2010-07-21
>>    18:58:12.000000000 -0700
>>    @@ -26,14 +26,15 @@
>>    package java.util;
>>
>>    /**
>>    - * Linked list implementation of the {...@code List} interface.
>>     Implements all
>>    - * optional list operations, and permits all elements (including
>>    - * {...@code null}).  In addition to implementing the {...@code List}
>>    interface,
>>    - * the {...@code LinkedList} class provides uniformly named methods to
>>    - * {...@code get}, {...@code remove} and {...@code insert} an element at 
>> the
>>    - * beginning and end of the list.  These operations allow linked
>>    lists to be
>>    - * used as a stack, {...@linkplain Queue queue}, or {...@linkplain Deque
>>    - * double-ended queue}.
>>    + * Linked list implementation of the {...@code List} interface.
>>    + * Implements all optional list operations, and permits all elements
>>    + * (including {...@code null}).  In addition to implementing the 
>> {...@code
>>    + * List} interface, the {...@code LinkedList} class provides uniformly
>>    + * named methods to {...@code get}, {...@code remove} and {...@code add} 
>> an
>>    + * element at the beginning (<i>operation</i>{...@code First}) and end
>>    + * (<i>operation</i>{...@code Last}) of the list.  These operations
>>    allow
>>    + * linked lists to be used as a stack, {...@linkplain Queue queue}, or
>>    + * {...@linkplain Deque double-ended queue}.
>>     *
>>     * <p>The class implements the {...@code Deque} interface, providing
>>     * first-in-first-out queue operations for {...@code add},
>>
>>
>>
>

Reply via email to