Use LinkedHashSet for HttpHeaders.names() and add Javadoc about the performance of names() and entries()
This commit is contained in:
parent
fc2e6916d9
commit
dd49b1cfac
@ -21,13 +21,13 @@ import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
public class DefaultHttpHeaders extends HttpHeaders {
|
||||
|
||||
@ -372,9 +372,7 @@ public class DefaultHttpHeaders extends HttpHeaders {
|
||||
|
||||
@Override
|
||||
public Set<String> names() {
|
||||
|
||||
Set<String> names = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
Set<String> names = new LinkedHashSet<String>();
|
||||
HeaderEntry e = head.after;
|
||||
while (e != head) {
|
||||
names.add(e.getKey());
|
||||
|
@ -27,9 +27,7 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
import static io.netty.handler.codec.http.HttpConstants.CR;
|
||||
import static io.netty.handler.codec.http.HttpConstants.LF;
|
||||
import static io.netty.handler.codec.http.HttpConstants.*;
|
||||
|
||||
/**
|
||||
* Provides the constants for the standard HTTP header names and values and
|
||||
@ -1431,10 +1429,9 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the all headers that this message contains.
|
||||
*
|
||||
* @return A {@link List} of the header name-value entries, which will be
|
||||
* empty if no pairs are found
|
||||
* Returns a new {@link List} that contains all headers in this object. Note that modifying the
|
||||
* returned {@link List} will not affect the state of this object. If you intend to enumerate over the header
|
||||
* entries only, use {@link #iterator()} instead, which has much less overhead.
|
||||
*/
|
||||
public abstract List<Map.Entry<String, String>> entries();
|
||||
|
||||
@ -1459,9 +1456,9 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
||||
public abstract boolean isEmpty();
|
||||
|
||||
/**
|
||||
* Gets a {@link Set} of all header names that this message contains
|
||||
*
|
||||
* @return A {@link Set} of all header names
|
||||
* Returns a new {@link Set} that contains the names of all headers in this object. Note that modifying the
|
||||
* returned {@link Set} will not affect the state of this object. If you intend to enumerate over the header
|
||||
* entries only, use {@link #iterator()} instead, which has much less overhead.
|
||||
*/
|
||||
public abstract Set<String> names();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user