public class Headers extends Object implements Map<String,List<String>>
Map
< String
,List
<String
>> を実装するこのクラスによって表されます。キーはヘッダー名を表す文字列であり大文字と小文字は区別されません。各キーに関連付けられた値は、要求または応答内に出現する各ヘッダー名に対して 1 つの要素を持つ List
<String
> です。
たとえば、応答ヘッダーのインスタンスに「value1」と「value2」という 2 つの値を持つ 1 つのキー「HeaderName」が含まれている場合、このオブジェクトは 2 つのヘッダー行として出力されます。
HeaderName: value1 HeaderName: value2
通常の Map
メソッドがすべて提供されますが、次の追加の簡易メソッドがよく使用される可能性があります。
getFirst(String)
。単一値ヘッダーまたは複数値ヘッダーの最初の値を返します。add(String,String)
。指定されたキーのリストに、指定されたヘッダー値を追加します。set(String,String)
。指定されたヘッダーフィールドに単一値を設定して、値リストの既存の値をすべて上書きします。
このクラスのどのメソッドでも、キーおよび値で null
値が許容されます。ただし、HTTP 要求ヘッダーに null キーが存在することはなく、応答ヘッダーで出力または送信されることもありません。null 値は、キーの null エントリ (リストが null)、またはキーにリストがあるがリストの 1 つ以上の値が null である場合を表す可能性があります。null 値は、キーを含むが値が関連付けられていないヘッダー行として出力されます。
コンストラクタと説明 |
---|
Headers() |
修飾子と型 | メソッドと説明 |
---|---|
void |
add(String key, String value)
指定されたキーのヘッダーのリストに、指定された値を追加します。
|
void |
clear()
マップからマッピングをすべて削除します (オプションの操作)。
|
boolean |
containsKey(Object key)
指定のキーのマッピングがマップに含まれている場合に true を返します。
|
boolean |
containsValue(Object value)
マップが 1 つまたは複数のキーを指定された値にマッピングしている場合に true を返します。
|
Set<Map.Entry<String,List<String>>> |
entrySet()
このマップに含まれるマッピングの
Set ビューを返します。 |
boolean |
equals(Object o)
このオブジェクトとほかのオブジェクトが等しいかどうかを示します。
|
List<String> |
get(Object key)
指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合は
null を返します。 |
String |
getFirst(String key)
指定されたキーについて、文字列値のリストの最初の値を返します (少なくとも 1 つ存在する場合)。
|
int |
hashCode()
オブジェクトのハッシュコード値を返します。
|
boolean |
isEmpty()
このマップがキーと値のマッピングを保持しない場合に true を返します。
|
Set<String> |
keySet()
このマップに含まれるキーの
Set ビューを返します。 |
List<String> |
put(String key, List<String> value)
指定された値と指定されたキーをこのマップで関連付けます (オプションの操作)。
|
void |
putAll(Map<? extends String,? extends List<String>> t)
指定されたマップのすべてのマッピングをこのマップにコピーします (オプションの操作)。
|
List<String> |
remove(Object key)
このマップからキーのマッピング (ある場合) を削除します (オプションの操作)。
|
void |
set(String key, String value)
指定された値を指定されたキーの唯一のヘッダー値として設定します。
|
int |
size()
このマップ内のキー値マッピングの数を返します。
|
Collection<List<String>> |
values()
このマップに含まれる値の
Collection ビューを返します。 |
public int size()
java.util.Map
public boolean isEmpty()
java.util.Map
public boolean containsKey(Object key)
java.util.Map
containsKey
、インタフェース: Map<String,List<String>>
key
- このマップ内にあるかどうかが判定されるキーpublic boolean containsValue(Object value)
java.util.Map
containsValue
、インタフェース: Map<String,List<String>>
value
- このマップにあるかどうかが判定される値public List<String> get(Object key)
java.util.Map
null
を返します。
つまり、このメソッドは、(key==null ? k==null : key.equals(k))
となるキー k
から値 v
へのマッピングがこのマップに含まれている場合は v
を返し、それ以外の場合は null
を返します。このようなマッピングが 1 つだけあります。
このマップが null 値を許可する場合、戻り値の null
は、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーを null
にマップすることもあります。containsKey
オペレーションを使うと、こうした 2 つの場合を見分けることができます。
public String getFirst(String key)
key
- 検索するキーpublic List<String> put(String key, List<String> value)
java.util.Map
m.containsKey(k)
が true を返す場合に限り、マップ m はキー k のマッピングを含むと言えます。public void add(String key, String value)
key
- ヘッダー名value
- ヘッダーに追加するヘッダー値public void set(String key, String value)
key
- ヘッダー名value
- 設定するヘッダー値。public List<String> remove(Object key)
java.util.Map
(key==null ? k==null : key.equals(k))
となるキー k から値 v へのマッピングがこのマップに含まれる場合、このマッピングは削除されます。マップはこのようなマッピングを 1 つだけ含めることができます。
このマップが以前にこのキーを関連付けていた値を返します。キーに対するマッピングがマップになかった場合は null を返します。
このマップが null 値を許可する場合、戻り値の null は、マップがキーのマッピングを保持していなかったことを示すとはかぎりません。つまり、マップが明示的にキーを null にマップしていた可能性もあります。
呼び出しが戻ると、マップは指定されたキーのマッピングを含まなくなります。
public void putAll(Map<? extends String,? extends List<String>> t)
java.util.Map
put(k, v)
を 1 回呼び出した場合と同じです。オペレーションの進行中に、指定されたマップが変更された場合の、このオペレーションの動作は定義されていません。public void clear()
java.util.Map
public Set<String> keySet()
java.util.Map
Set
ビューを返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません (イテレータ自身の remove オペレーションを除く)。セットは要素の削除をサポートします。Iterator.remove、Set.remove、removeAll、retainAll、および clear オペレーションで対応するマッピングをマップから削除します。add または addAll オペレーションはサポートしていません。public Collection<List<String>> values()
java.util.Map
Collection
ビューを返します。コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されていません (イテレータ自身の remove オペレーションを除く)。コレクションは要素の削除をサポートします。Iterator.remove、Collection.remove、removeAll、retainAll、および clear オペレーションで対応するマッピングをマップから削除します。add または addAll オペレーションはサポートしていません。public Set<Map.Entry<String,List<String>>> entrySet()
java.util.Map
Set
ビューを返します。セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません (イテレータ自身の remove オペレーション、またはイテレータにより返されるマップエントリに対する setValue オペレーションを除く)。セットは要素の削除をサポートします。Iterator.remove、Set.remove、removeAll、retainAll、および clear オペレーションで対応するマッピングをマップから削除します。add または addAll オペレーションはサポートしていません。public boolean equals(Object o)
java.lang.Object
equals
メソッドは、null 以外のオブジェクト参照での同値関係を実装します。
x
について、x.equals(x)
は true
を返します。
x
および y
について、y.equals(x)
が true
を返す場合に限り、x.equals(y)
は true
を返します。
x
、y
、および z
について、x.equals(y)
が true
を返し、y.equals(z)
が true
を返す場合、x.equals(z)
は true
を返します。
x
および y
について、x.equals(y)
の複数の呼び出しは、このオブジェクトに対する equals
による比較で使われた情報が変更されていなければ、一貫して true
を返すか、一貫して false
を返します。
x
について、x.equals(null)
は false
を返します。
Object
クラスの equals
メソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、null 以外の参照値 x
と y
について、このメソッドは x
と y
が同じオブジェクトを参照する (x == y
が true
) 場合にだけ true
を返します。
通常、このメソッドをオーバーライドする場合は、hashCode
メソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という hashCode
メソッドの汎用規約に従う必要があることに留意してください。
public int hashCode()
java.lang.Object
HashMap
によって提供されるハッシュテーブルなどの、ハッシュテーブルの利点のためにサポートされています。
hashCode
の一般的な規則は次のとおりです。
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)
メソッドに従って 2 つのオブジェクトが等しい場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)
メソッドに従って 2 つのオブジェクトが等しくない場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュテーブルのパフォーマンスが向上する可能性があることに注意するようにしてください。
クラス Object
によって定義された hashCode メソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックは JavaTM プログラミング言語では必要ありません。)
hashCode
、インタフェース: Map<String,List<String>>
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved.