# Class MapEntry&lt;K,V&gt; (3.19.4)

    public final class MapEntry<K,V> extends AbstractMessage

Implements MapEntry messages.

In reflection API, map fields will be treated as repeated message fields and each map entry is
accessed as a message. This MapEntry class is used to represent these map entry messages in
reflection API.

Protobuf internal. Users shouldn't use this class.

## Inheritance

[Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> [AbstractMessageLite\<MessageType,BuilderType\>](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite) \> [AbstractMessage](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage) \> MapEntry\<K,V\>

## Inherited Members

[AbstractMessage.equals(Object)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_equals_java_lang_Object_) [AbstractMessage.findInitializationErrors()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_findInitializationErrors__) [AbstractMessage.getInitializationErrorString()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_getInitializationErrorString__) [AbstractMessage.getOneofFieldDescriptor(Descriptors.OneofDescriptor)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_getOneofFieldDescriptor_com_google_protobuf_Descriptors_OneofDescriptor_) [AbstractMessage.getSerializedSize()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_getSerializedSize__) [AbstractMessage.hasOneof(Descriptors.OneofDescriptor)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hasOneof_com_google_protobuf_Descriptors_OneofDescriptor_) [AbstractMessage.hashBoolean(boolean)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashBoolean_boolean_) [AbstractMessage.hashCode()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashCode__) [AbstractMessage.hashEnum(Internal.EnumLite)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashEnum_com_google_protobuf_Internal_EnumLite_) [AbstractMessage.hashEnumList(List\<? extends Internal.EnumLite\>)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashEnumList_java_util_List___extends_com_google_protobuf_Internal_EnumLite__) [AbstractMessage.hashFields(int,Map\<Descriptors.FieldDescriptor,Object\>)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashFields_int_java_util_Map_com_google_protobuf_Descriptors_FieldDescriptor_java_lang_Object__) [AbstractMessage.hashLong(long)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_hashLong_long_) [AbstractMessage.isInitialized()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_isInitialized__) [AbstractMessage.newBuilderForType(AbstractMessage.BuilderParent)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_newBuilderForType_com_google_protobuf_AbstractMessage_BuilderParent_) [AbstractMessage.toString()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_toString__) [AbstractMessage.writeTo(CodedOutputStream)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_writeTo_com_google_protobuf_CodedOutputStream_) [AbstractMessageLite.\<T\>addAll(Iterable\<T\>,Collection\<? super T\>)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite__T_addAll_java_lang_Iterable_T__java_util_Collection___super_T__) [AbstractMessageLite.\<T\>addAll(Iterable\<T\>,List\<? super T\>)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite__T_addAll_java_lang_Iterable_T__java_util_List___super_T__) [AbstractMessageLite.checkByteStringIsUtf8(ByteString)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite_checkByteStringIsUtf8_com_google_protobuf_ByteString_) [AbstractMessageLite.toByteArray()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite_toByteArray__) [AbstractMessageLite.toByteString()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite_toByteString__) [AbstractMessageLite.writeDelimitedTo(OutputStream)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite_writeDelimitedTo_java_io_OutputStream_) [AbstractMessageLite.writeTo(OutputStream)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessageLite#com_google_protobuf_AbstractMessageLite_writeTo_java_io_OutputStream_) [Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

| ## Type Parameters ||
|---|---|
| **Name** | **Description** |
| `K` |   |
| `V` |   |

## Static Methods

### \<K,V\>newDefaultInstance(Descriptors.Descriptor descriptor, WireFormat.FieldType keyType, K defaultKey, WireFormat.FieldType valueType, V defaultValue)

    public static MapEntry<K,V> <K,V>newDefaultInstance(Descriptors.Descriptor descriptor, WireFormat.FieldType keyType, K defaultKey, WireFormat.FieldType valueType, V defaultValue)

Create a default MapEntry instance. A default MapEntry instance should be created only once for
each map entry message type. Generated code should store the created default instance and use
it later to create new MapEntry messages of the same type.

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `descriptor` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.Descriptor` |
| `keyType` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.WireFormat.FieldType` |
| `defaultKey` | `K` |
| `valueType` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.WireFormat.FieldType` |
| `defaultValue` | `V` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MapEntry<K,V>` |   |

## Methods

### getAllFields()

    public Map<Descriptors.FieldDescriptor,Object> getAllFields()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/util/Map.html<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.FieldDescriptor,https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html>` |   |

### getDefaultInstanceForType()

    public MapEntry<K,V> getDefaultInstanceForType()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MapEntry<K,V>` |   |

### getDescriptorForType()

    public Descriptors.Descriptor getDescriptorForType()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.Descriptor` |   |

### getField(Descriptors.FieldDescriptor field)

    public Object getField(Descriptors.FieldDescriptor field)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `field` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.FieldDescriptor` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html` |   |

### getKey()

    public K getKey()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `K` |   |

### getParserForType()

    public Parser<MapEntry<K,V>> getParserForType()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Parser<https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MapEntry<K,V>>` |   |

### getRepeatedField(Descriptors.FieldDescriptor field, int index)

    public Object getRepeatedField(Descriptors.FieldDescriptor field, int index)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `field` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.FieldDescriptor` |
| `index` | `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html` |   |

### getRepeatedFieldCount(Descriptors.FieldDescriptor field)

    public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `field` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.FieldDescriptor` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### getSerializedSize()

    public int getSerializedSize()

Get the number of bytes required to encode this message. The result is only computed on the
first call and memoized after that.

If this message requires more than Integer.MAX_VALUE bytes to encode, the return value will
be smaller than the actual number of bytes required and might be negative.

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

**Overrides** [AbstractMessage.getSerializedSize()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_getSerializedSize__)

### getUnknownFields()

    public UnknownFieldSet getUnknownFields()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.UnknownFieldSet` |   |

### getValue()

    public V getValue()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `V` |   |

### hasField(Descriptors.FieldDescriptor field)

    public boolean hasField(Descriptors.FieldDescriptor field)

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `field` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Descriptors.FieldDescriptor` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

### isInitialized()

    public boolean isInitialized()

Returns true if all required fields in the message and all embedded messages are set, false
otherwise.

See also: [MessageOrBuilder#getInitializationErrorString()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder#com_google_protobuf_MessageOrBuilder_getInitializationErrorString__)

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html` |   |

**Overrides** [AbstractMessage.isInitialized()](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_isInitialized__)

### newBuilderForType()

    public MapEntry.Builder<K,V> newBuilderForType()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MapEntry.Builder<K,V>` |   |

### toBuilder()

    public MapEntry.Builder<K,V> toBuilder()

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MapEntry.Builder<K,V>` |   |

### writeTo(CodedOutputStream output)

    public void writeTo(CodedOutputStream output)

Serializes the message and writes it to `output`. This does not flush or close the
stream.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `output` | `https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.CodedOutputStream` |

**Overrides** [AbstractMessage.writeTo(CodedOutputStream output)](https://docs.cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.AbstractMessage#com_google_protobuf_AbstractMessage_writeTo_com_google_protobuf_CodedOutputStream_)

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html` |   |