diff options
| author | Adam Lesinski <adamlesinski@google.com> | 2014-08-26 11:53:32 -0700 |
|---|---|---|
| committer | Adam Lesinski <adamlesinski@google.com> | 2014-08-26 11:53:32 -0700 |
| commit | 4e9c07c0de199169374bded403805c92f1c1c6c1 (patch) | |
| tree | 0acf3f5de85b20f0b507b76b9275ea3a880ff27d /core/java/android/util/ArraySet.java | |
| parent | 5b8e5a7d4c930b42e1a3c2b3e67144b89d37efa2 (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.java | 18 |
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 |
