summaryrefslogtreecommitdiff
path: root/core/java/android/util/ArraySet.java
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2014-08-26 11:53:32 -0700
committerAdam Lesinski <adamlesinski@google.com>2014-08-26 11:53:32 -0700
commit4e9c07c0de199169374bded403805c92f1c1c6c1 (patch)
tree0acf3f5de85b20f0b507b76b9275ea3a880ff27d /core/java/android/util/ArraySet.java
parent5b8e5a7d4c930b42e1a3c2b3e67144b89d37efa2 (diff)
Add indexOf method to ArrayMap & ArraySet
Getting the indexOf is useful for doing compound operations like: int i = set.indexOf(key); if (i >= 0) { Object o = set.valueAt(i); o.blah(); set.removeAt(i); } Change-Id: I3d4b77d1461ba969fc6b4d332d52d4d084b5b53c
Diffstat (limited to 'core/java/android/util/ArraySet.java')
-rw-r--r--core/java/android/util/ArraySet.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java
index 8f7aefdf16d7..423e48b610a7 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -291,7 +291,17 @@ public final class ArraySet<E> implements Collection<E>, Set<E> {
*/
@Override
public boolean contains(Object key) {
- return key == null ? (indexOfNull() >= 0) : (indexOf(key, key.hashCode()) >= 0);
+ return indexOf(key) >= 0;
+ }
+
+ /**
+ * Returns the index of a value in the set.
+ *
+ * @param key The value to search for.
+ * @return Returns the index of the value if it exists, else a negative integer.
+ */
+ public int indexOf(Object key) {
+ return key == null ? indexOfNull() : indexOf(key, key.hashCode());
}
/**
@@ -396,7 +406,7 @@ public final class ArraySet<E> implements Collection<E>, Set<E> {
*/
@Override
public boolean remove(Object object) {
- int index = object == null ? indexOfNull() : indexOf(object, object.hashCode());
+ final int index = indexOf(object);
if (index >= 0) {
removeAt(index);
return true;
@@ -586,12 +596,12 @@ public final class ArraySet<E> implements Collection<E>, Set<E> {
@Override
protected int colIndexOfKey(Object key) {
- return key == null ? indexOfNull() : indexOf(key, key.hashCode());
+ return indexOf(key);
}
@Override
protected int colIndexOfValue(Object value) {
- return value == null ? indexOfNull() : indexOf(value, value.hashCode());
+ return indexOf(value);
}
@Override