Added getKeys() and getValues() which return int[]s.
Full revamp of this class pending. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1062 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: IntIntMap.java,v 1.3 2001/08/11 22:43:29 mdb Exp $
|
// $Id: IntIntMap.java,v 1.4 2003/03/05 02:51:33 ray Exp $
|
||||||
//
|
//
|
||||||
// samskivert library - useful routines for java programs
|
// samskivert library - useful routines for java programs
|
||||||
// Copyright (C) 2001 Michael Bayne
|
// Copyright (C) 2001 Michael Bayne
|
||||||
@@ -147,6 +147,38 @@ public class IntIntMap
|
|||||||
return new Enumerator(_buckets, false);
|
return new Enumerator(_buckets, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an array of the unique keys in this map.
|
||||||
|
*/
|
||||||
|
public int[] getKeys ()
|
||||||
|
{
|
||||||
|
return toIntArray(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an array of the values that may be in this map.
|
||||||
|
* There may be duplicates.
|
||||||
|
*/
|
||||||
|
public int[] getValues ()
|
||||||
|
{
|
||||||
|
return toIntArray(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected int[] toIntArray (boolean keys)
|
||||||
|
{
|
||||||
|
int[] ret = new int[_size];
|
||||||
|
|
||||||
|
int dex = 0;
|
||||||
|
for (int ii=0, nn=_buckets.length; ii < nn; ii++) {
|
||||||
|
Record r = _buckets[ii];
|
||||||
|
while (r != null) {
|
||||||
|
ret[dex++] = keys ? r.key : r.value;
|
||||||
|
r = r.next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
class Record
|
class Record
|
||||||
{
|
{
|
||||||
public Record next;
|
public Record next;
|
||||||
|
|||||||
Reference in New Issue
Block a user