Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Nested Classes](https://developer.android.com/reference/java/util/jar/Attributes#nestedclasses) \| [Fields](https://developer.android.com/reference/java/util/jar/Attributes#lfields) \| [Ctors](https://developer.android.com/reference/java/util/jar/Attributes#pubctors) \| [Methods](https://developer.android.com/reference/java/util/jar/Attributes#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/util/jar/Attributes#inhmethods)

# Attributes


`
public


class
Attributes
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/java/lang/Cloneable,

https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | java.util.jar.Attributes |

<br />

*** ** * ** ***

The Attributes class maps Manifest attribute names to associated string
values. Valid attribute names are case-insensitive, are restricted to
the ASCII characters in the set \[0-9a-zA-Z_-\], and cannot exceed 70
characters in length. There must be a colon and a SPACE after the name;
the combined length will not exceed 72 characters.
Attribute values can contain any characters and
will be UTF8-encoded when written to the output stream. See the
[JAR File Specification](https://docs.oracle.com/en/java/javase/17/docs/specs/jar/jar.html)
for more information about valid attribute names and values.

This map and its views have a predictable iteration order, namely the
order that keys were inserted into the map, as with `https://developer.android.com/reference/java/util/LinkedHashMap`.
**See also:**

- `https://developer.android.com/reference/java/util/jar/Manifest`

## Summary

| ### Nested classes ||
|---|---|
| ` class` | `https://developer.android.com/reference/java/util/jar/Attributes.Name` The Attributes.Name class represents an attribute name stored in this Map. |

| ### Fields ||
|---|---|
| ` protected https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | `https://developer.android.com/reference/java/util/jar/Attributes#map` The attribute name-value mappings. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/java/util/jar/Attributes#Attributes()() ` Constructs a new, empty Attributes object with default size. |
| ` https://developer.android.com/reference/java/util/jar/Attributes#Attributes(int)(int size) ` Constructs a new, empty Attributes object with the specified initial size. |
| ` https://developer.android.com/reference/java/util/jar/Attributes#Attributes(java.util.jar.Attributes)(https://developer.android.com/reference/java/util/jar/Attributes attr) ` Constructs a new Attributes object with the same attribute name-value mappings as in the specified Attributes. |

| ### Public methods ||
|---|---|
| ` void` | ` https://developer.android.com/reference/java/util/jar/Attributes#clear()() ` Removes all attributes from this Map. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/jar/Attributes#clone()() ` Returns a copy of the Attributes, implemented as follows: ``` public Object clone() { return new Attributes(this); } ``` Since the attribute names and values are themselves immutable, the Attributes returned can be safely modified without affecting the original. <br /> |
| ` boolean` | ` https://developer.android.com/reference/java/util/jar/Attributes#containsKey(java.lang.Object)(https://developer.android.com/reference/java/lang/Object name) ` Returns true if this Map contains the specified attribute name (key). |
| ` boolean` | ` https://developer.android.com/reference/java/util/jar/Attributes#containsValue(java.lang.Object)(https://developer.android.com/reference/java/lang/Object value) ` Returns true if this Map maps one or more attribute names (keys) to the specified value. |
| ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/util/Map.Entry<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>>` | ` https://developer.android.com/reference/java/util/jar/Attributes#entrySet()() ` Returns a Collection view of the attribute name-value mappings contained in this Map. |
| ` boolean` | ` https://developer.android.com/reference/java/util/jar/Attributes#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Compares the specified object to the underlying [map](https://developer.android.com/reference/java/util/jar/Attributes#map) for equality. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/jar/Attributes#get(java.lang.Object)(https://developer.android.com/reference/java/lang/Object name) ` Returns the value of the specified attribute name, or null if the attribute name was not found. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/jar/Attributes#getValue(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` Returns the value of the specified attribute name, specified as a string, or null if the attribute was not found. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/jar/Attributes#getValue(java.util.jar.Attributes.Name)(https://developer.android.com/reference/java/util/jar/Attributes.Name name) ` Returns the value of the specified Attributes.Name, or null if the attribute was not found. |
| ` int` | ` https://developer.android.com/reference/java/util/jar/Attributes#hashCode()() ` Returns the hash code value for this Map. |
| ` boolean` | ` https://developer.android.com/reference/java/util/jar/Attributes#isEmpty()() ` Returns true if this Map contains no attributes. |
| ` https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/jar/Attributes#keySet()() ` Returns a Set view of the attribute names (keys) contained in this Map. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/jar/Attributes#put(java.lang.Object,%20java.lang.Object)(https://developer.android.com/reference/java/lang/Object name, https://developer.android.com/reference/java/lang/Object value) ` Associates the specified value with the specified attribute name (key) in this Map. |
| ` void` | ` https://developer.android.com/reference/java/util/jar/Attributes#putAll(java.util.Map<?,?>)(https://developer.android.com/reference/java/util/Map<?, ?> attr) ` Copies all of the attribute name-value mappings from the specified Attributes to this Map. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/util/jar/Attributes#putValue(java.lang.String,%20java.lang.String)(https://developer.android.com/reference/java/lang/String name, https://developer.android.com/reference/java/lang/String value) ` Associates the specified value with the specified attribute name, specified as a String. |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/jar/Attributes#remove(java.lang.Object)(https://developer.android.com/reference/java/lang/Object name) ` Removes the attribute with the specified name (key) from this Map. |
| ` int` | ` https://developer.android.com/reference/java/util/jar/Attributes#size()() ` Returns the number of attributes in this Map. |
| ` https://developer.android.com/reference/java/util/Collection<https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/jar/Attributes#values()() ` Returns a Collection view of the attribute values contained in this Map. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/java/util/Map ` |---|---| | ` abstract void` | ` https://developer.android.com/reference/java/util/Map#clear()() ` Removes all of the mappings from this map (optional operation). | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#compute(K,%20java.util.function.BiFunction<?%20super%20K,?%20super%20V,?%20extends%20V>)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/util/function/BiFunction<? super K, ? super V, ? extends V> remappingFunction) ` Attempts to compute a mapping for the specified key and its current mapped value, or `null` if there is no current mapping (optional operation). | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#computeIfAbsent(K,%20java.util.function.Function<?%20super%20K,?%20extends%20V>)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/util/function/Function<? super K, ? extends V> mappingFunction) ` If the specified key is not already associated with a value (or is mapped to `null`), attempts to compute its value using the given mapping function and enters it into this map unless `null` (optional operation). | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#computeIfPresent(K,%20java.util.function.BiFunction<?%20super%20K,?%20super%20V,?%20extends%20V>)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/util/function/BiFunction<? super K, ? super V, ? extends V> remappingFunction) ` If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value (optional operation). | | ` abstract boolean` | ` https://developer.android.com/reference/java/util/Map#containsKey(java.lang.Object)(https://developer.android.com/reference/java/lang/Object key) ` Returns `true` if this map contains a mapping for the specified key. | | ` abstract boolean` | ` https://developer.android.com/reference/java/util/Map#containsValue(java.lang.Object)(https://developer.android.com/reference/java/lang/Object value) ` Returns `true` if this map maps one or more keys to the specified value. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#copyOf(java.util.Map<?%20extends%20K,?%20extends%20V>)(https://developer.android.com/reference/java/util/Map<? extends K, ? extends V> map) ` Returns an [unmodifiable Map](https://developer.android.com/reference/java/util/jar/Attributes#unmodifiable) containing the entries of the given Map. | | ` static <K, V> https://developer.android.com/reference/java/util/Map.Entry<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#entry(K,%20V)(https://developer.android.com/reference/java/lang/Object k, https://developer.android.com/reference/java/lang/Object v) ` Returns an unmodifiable `https://developer.android.com/reference/java/util/Map.Entry` containing the given key and value. | | ` abstract https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/util/Map.Entry<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>>` | ` https://developer.android.com/reference/java/util/Map#entrySet()() ` Returns a `https://developer.android.com/reference/java/util/Set` view of the mappings contained in this map. | | ` abstract boolean` | ` https://developer.android.com/reference/java/util/Map#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Compares the specified object with this map for equality. | | ` default void` | ` https://developer.android.com/reference/java/util/Map#forEach(java.util.function.BiConsumer<?%20super%20K,?%20super%20V>)(https://developer.android.com/reference/java/util/function/BiConsumer<? super K, ? super V> action) ` Performs the given action for each entry in this map until all entries have been processed or the action throws an exception. | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#get(java.lang.Object)(https://developer.android.com/reference/java/lang/Object key) ` Returns the value to which the specified key is mapped, or `null` if this map contains no mapping for the key. | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#getOrDefault(java.lang.Object,%20V)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object defaultValue) ` Returns the value to which the specified key is mapped, or `defaultValue` if this map contains no mapping for the key. | | ` abstract int` | ` https://developer.android.com/reference/java/util/Map#hashCode()() ` Returns the hash code value for this map. | | ` abstract boolean` | ` https://developer.android.com/reference/java/util/Map#isEmpty()() ` Returns `true` if this map contains no key-value mappings. | | ` abstract https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#keySet()() ` Returns a `https://developer.android.com/reference/java/util/Set` view of the keys contained in this map. | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#merge(K,%20V,%20java.util.function.BiFunction<?%20super%20V,?%20super%20V,?%20extends%20V>)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object value, https://developer.android.com/reference/java/util/function/BiFunction<? super V, ? super V, ? extends V> remappingFunction) ` If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value (optional operation). | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5) ` Returns an unmodifiable map containing five mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4) ` Returns an unmodifiable map containing four mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1) ` Returns an unmodifiable map containing a single mapping. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5, https://developer.android.com/reference/java/lang/Object k6, https://developer.android.com/reference/java/lang/Object v6, https://developer.android.com/reference/java/lang/Object k7, https://developer.android.com/reference/java/lang/Object v7, https://developer.android.com/reference/java/lang/Object k8, https://developer.android.com/reference/java/lang/Object v8) ` Returns an unmodifiable map containing eight mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2) ` Returns an unmodifiable map containing two mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3) ` Returns an unmodifiable map containing three mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of()() ` Returns an unmodifiable map containing zero mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5, https://developer.android.com/reference/java/lang/Object k6, https://developer.android.com/reference/java/lang/Object v6, https://developer.android.com/reference/java/lang/Object k7, https://developer.android.com/reference/java/lang/Object v7, https://developer.android.com/reference/java/lang/Object k8, https://developer.android.com/reference/java/lang/Object v8, https://developer.android.com/reference/java/lang/Object k9, https://developer.android.com/reference/java/lang/Object v9) ` Returns an unmodifiable map containing nine mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5, https://developer.android.com/reference/java/lang/Object k6, https://developer.android.com/reference/java/lang/Object v6) ` Returns an unmodifiable map containing six mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5, https://developer.android.com/reference/java/lang/Object k6, https://developer.android.com/reference/java/lang/Object v6, https://developer.android.com/reference/java/lang/Object k7, https://developer.android.com/reference/java/lang/Object v7) ` Returns an unmodifiable map containing seven mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#of(K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V,%20K,%20V)(https://developer.android.com/reference/java/lang/Object k1, https://developer.android.com/reference/java/lang/Object v1, https://developer.android.com/reference/java/lang/Object k2, https://developer.android.com/reference/java/lang/Object v2, https://developer.android.com/reference/java/lang/Object k3, https://developer.android.com/reference/java/lang/Object v3, https://developer.android.com/reference/java/lang/Object k4, https://developer.android.com/reference/java/lang/Object v4, https://developer.android.com/reference/java/lang/Object k5, https://developer.android.com/reference/java/lang/Object v5, https://developer.android.com/reference/java/lang/Object k6, https://developer.android.com/reference/java/lang/Object v6, https://developer.android.com/reference/java/lang/Object k7, https://developer.android.com/reference/java/lang/Object v7, https://developer.android.com/reference/java/lang/Object k8, https://developer.android.com/reference/java/lang/Object v8, https://developer.android.com/reference/java/lang/Object k9, https://developer.android.com/reference/java/lang/Object v9, https://developer.android.com/reference/java/lang/Object k10, https://developer.android.com/reference/java/lang/Object v10) ` Returns an unmodifiable map containing ten mappings. | | ` static <K, V> https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#ofEntries(java.util.Map.Entry<?%20extends%20K,?%20extends%20V>[])(https://developer.android.com/reference/java/util/Map.Entry<? extends K, ? extends V> entries) ` Returns an unmodifiable map containing keys and values extracted from the given entries. | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#put(K,%20V)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object value) ` Associates the specified value with the specified key in this map (optional operation). | | ` abstract void` | ` https://developer.android.com/reference/java/util/Map#putAll(java.util.Map<?%20extends%20K,?%20extends%20V>)(https://developer.android.com/reference/java/util/Map<? extends K, ? extends V> m) ` Copies all of the mappings from the specified map to this map (optional operation). | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#putIfAbsent(K,%20V)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object value) ` If the specified key is not already associated with a value (or is mapped to `null`) associates it with the given value and returns `null`, else returns the current value (optional operation). | | ` default boolean` | ` https://developer.android.com/reference/java/util/Map#remove(java.lang.Object,%20java.lang.Object)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object value) ` Removes the entry for the specified key only if it is currently mapped to the specified value (optional operation). | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#remove(java.lang.Object)(https://developer.android.com/reference/java/lang/Object key) ` Removes the mapping for a key from this map if it is present (optional operation). | | ` default boolean` | ` https://developer.android.com/reference/java/util/Map#replace(K,%20V,%20V)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object oldValue, https://developer.android.com/reference/java/lang/Object newValue) ` Replaces the entry for the specified key only if currently mapped to the specified value (optional operation). | | ` default https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/util/Map#replace(K,%20V)(https://developer.android.com/reference/java/lang/Object key, https://developer.android.com/reference/java/lang/Object value) ` Replaces the entry for the specified key only if it is currently mapped to some value (optional operation). | | ` default void` | ` https://developer.android.com/reference/java/util/Map#replaceAll(java.util.function.BiFunction<?%20super%20K,?%20super%20V,?%20extends%20V>)(https://developer.android.com/reference/java/util/function/BiFunction<? super K, ? super V, ? extends V> function) ` Replaces each entry's value with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception (optional operation). | | ` abstract int` | ` https://developer.android.com/reference/java/util/Map#size()() ` Returns the number of key-value mappings in this map. | | ` abstract https://developer.android.com/reference/java/util/Collection<https://developer.android.com/reference/java/lang/Object>` | ` https://developer.android.com/reference/java/util/Map#values()() ` Returns a `https://developer.android.com/reference/java/util/Collection` view of the values contained in this map. | ||

## Fields

### map

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected Map<Object, Object> map
```

The attribute name-value mappings.

<br />

## Public constructors

### Attributes

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Attributes ()
```

Constructs a new, empty Attributes object with default size.

<br />

### Attributes

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Attributes (int size)
```

Constructs a new, empty Attributes object with the specified
initial size.

<br />

| Parameters ||
|---|---|
| `size` | `int`: the initial number of attributes <br /> |

### Attributes

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Attributes (Attributes attr)
```

Constructs a new Attributes object with the same attribute name-value
mappings as in the specified Attributes.

<br />

| Parameters ||
|---|---|
| `attr` | `Attributes`: the specified Attributes <br /> |

## Public methods

### clear

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void clear ()
```

Removes all attributes from this Map.

<br />

### clone

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object clone ()
```

Returns a copy of the Attributes, implemented as follows:

```
    public Object clone() { return new Attributes(this); }
```
Since the attribute names and values are themselves immutable, the Attributes returned can be safely modified without affecting the original.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | a clone of this instance. <br /> |

### containsKey

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean containsKey (Object name)
```

Returns true if this Map contains the specified attribute name (key).

<br />

| Parameters ||
|---|---|
| `name` | `Object`: the attribute name <br /> |

| Returns ||
|---|---|
| `boolean` | true if this Map contains the specified attribute name <br /> |

### containsValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean containsValue (Object value)
```

Returns true if this Map maps one or more attribute names (keys)
to the specified value.

<br />

| Parameters ||
|---|---|
| `value` | `Object`: the attribute value <br /> |

| Returns ||
|---|---|
| `boolean` | true if this Map maps one or more attribute names to the specified value <br /> |

### entrySet

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Set<Entry<Object, Object>> entrySet ()
```

Returns a Collection view of the attribute name-value mappings
contained in this Map.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/util/Map.Entry<https://developer.android.com/reference/java/lang/Object, https://developer.android.com/reference/java/lang/Object>>` | a set view of the mappings contained in this map <br /> |

### equals

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object o)
```

Compares the specified object to the underlying
[map](https://developer.android.com/reference/java/util/jar/Attributes#map) for equality.
Returns true if the given object is also a Map
and the two maps represent the same mappings.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: the Object to be compared <br /> |

| Returns ||
|---|---|
| `boolean` | true if the specified Object is equal to this Map <br /> |

### get

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object get (Object name)
```

Returns the value of the specified attribute name, or null if the
attribute name was not found.

<br />

| Parameters ||
|---|---|
| `name` | `Object`: the attribute name <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | the value of the specified attribute name, or null if not found. <br /> |

### getValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getValue (String name)
```

Returns the value of the specified attribute name, specified as
a string, or null if the attribute was not found. The attribute
name is case-insensitive.


This method is defined as:

```
     return (String)get(new Attributes.Name((String)name));
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String`: the attribute name as a string <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the String value of the specified attribute name, or null if not found. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the attribute name is invalid |

### getValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String getValue (Attributes.Name name)
```

Returns the value of the specified Attributes.Name, or null if the
attribute was not found.


This method is defined as:

```
    return (String)get(name);
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `Attributes.Name`: the Attributes.Name object <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the String value of the specified Attribute.Name, or null if not found. <br /> |

### hashCode

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int hashCode ()
```

Returns the hash code value for this Map.

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### isEmpty

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isEmpty ()
```

Returns true if this Map contains no attributes.

<br />

| Returns ||
|---|---|
| `boolean` | `true` if this map contains no key-value mappings <br /> |

### keySet

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Set<Object> keySet ()
```

Returns a Set view of the attribute names (keys) contained in this Map.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Set<https://developer.android.com/reference/java/lang/Object>` | a set view of the keys contained in this map <br /> |

### put

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object put (Object name, 
                Object value)
```

Associates the specified value with the specified attribute name
(key) in this Map. If the Map previously contained a mapping for
the attribute name, the old value is replaced.

<br />

| Parameters ||
|---|---|
| `name` | `Object`: the attribute name <br /> |
| `value` | `Object`: the attribute value <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | the previous value of the attribute, or null if none <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/ClassCastException` | if the name is not a Attributes.Name or the value is not a String |

### putAll

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void putAll (Map<?, ?> attr)
```

Copies all of the attribute name-value mappings from the specified
Attributes to this Map. Duplicate mappings will be replaced.

<br />

| Parameters ||
|---|---|
| `attr` | `Map`: the Attributes to be stored in this map <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/ClassCastException` | if attr is not an Attributes |

### putValue

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String putValue (String name, 
                String value)
```

Associates the specified value with the specified attribute name,
specified as a String. The attributes name is case-insensitive.
If the Map previously contained a mapping for the attribute name,
the old value is replaced.


This method is defined as:

```
     return (String)put(new Attributes.Name(name), value);
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String`: the attribute name as a string <br /> |
| `value` | `String`: the attribute value <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | the previous value of the attribute, or null if none <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if the attribute name is invalid |

### remove

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object remove (Object name)
```

Removes the attribute with the specified name (key) from this Map.
Returns the previous attribute value, or null if none.

<br />

| Parameters ||
|---|---|
| `name` | `Object`: attribute name <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | the previous value of the attribute, or null if none <br /> |

### size

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int size ()
```

Returns the number of attributes in this Map.

<br />

| Returns ||
|---|---|
| `int` | the number of key-value mappings in this map <br /> |

### values

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Collection<Object> values ()
```

Returns a Collection view of the attribute values contained in this Map.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/Collection<https://developer.android.com/reference/java/lang/Object>` | a collection view of the values contained in this map <br /> |