processing.data
Class IntDict
- java.lang.Object
-
- processing.data.IntDict
-
public class IntDict extends java.lang.ObjectA simple class to use a String as a lookup for an int value.- See Also:
FloatDict,StringDict
-
-
Constructor Summary
Constructors Constructor and Description IntDict()IntDict(java.io.BufferedReader reader)Read a set of entries from a Reader that has each key/value pair on a single line, separated by a tab.IntDict(int length)Create a new lookup with a specific size.IntDict(java.lang.Object[][] pairs)Constructor to allow (more intuitive) inline initialization, e.g.:IntDict(java.lang.String[] keys, int[] values)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidadd(java.lang.String key, int amount)voidclear()Remove all entries.IntDictcopy()Returns a duplicate copy of this object.voiddiv(java.lang.String key, int amount)intget(java.lang.String key)Return a value for the specified key.intget(java.lang.String key, int alternate)FloatDictgetPercent()Sum all of the values in this dictionary, then return a new FloatDict of each key, divided by the total sum.booleanhasKey(java.lang.String key)voidincrement(java.lang.String key)Increase the value associated with a specific key by 1.intindex(java.lang.String what)java.lang.Stringkey(int index)java.lang.String[]keyArray()Return a copy of the internal keys array.java.lang.String[]keyArray(java.lang.String[] outgoing)java.util.Iterator<java.lang.String>keyIterator()java.lang.Iterable<java.lang.String>keys()intmaxIndex()java.lang.StringmaxKey()return the key corresponding to the maximum value or null if no entriesintmaxValue()intminIndex()java.lang.StringminKey()intminValue()voidmult(java.lang.String key, int amount)voidprint()intremove(java.lang.String key)java.lang.StringremoveIndex(int index)voidset(java.lang.String key, int amount)Create a new key/value pair or change the value of one.intsize()Returns the number of key/value pairsvoidsortKeys()Sort the keys alphabetically (ignoring case).voidsortKeysReverse()Sort the keys alphabetically in reverse (ignoring case).voidsortValues()Sort by values in ascending order.voidsortValues(boolean stable)Set true to ensure that the order returned is identical.voidsortValuesReverse()Sort by values in descending order.voidsortValuesReverse(boolean stable)voidsub(java.lang.String key, int amount)voidswap(int a, int b)java.lang.StringtoString()intvalue(int index)int[]valueArray()Create a new array and copy each of the values into it.int[]valueArray(int[] array)Fill an already-allocated array with the values (more efficient than creating a new array each time).java.util.Iterator<java.lang.Integer>valueIterator()java.lang.Iterable<java.lang.Integer>values()voidwrite(java.io.PrintWriter writer)Write tab-delimited entries out to
-
-
-
Constructor Detail
-
IntDict
public IntDict()
-
IntDict
public IntDict(int length)
Create a new lookup with a specific size. This is more efficient than not specifying a size. Use it when you know the rough size of the thing you're creating.
-
IntDict
public IntDict(java.io.BufferedReader reader)
Read a set of entries from a Reader that has each key/value pair on a single line, separated by a tab.
-
IntDict
public IntDict(java.lang.String[] keys, int[] values)
-
IntDict
public IntDict(java.lang.Object[][] pairs)
Constructor to allow (more intuitive) inline initialization, e.g.:new FloatDict(new Object[][] { { "key1", 1 }, { "key2", 2 } });
-
-
Method Detail
-
size
public int size()
Returns the number of key/value pairs
-
clear
public void clear()
Remove all entries.
-
key
public java.lang.String key(int index)
-
keys
public java.lang.Iterable<java.lang.String> keys()
-
keyIterator
public java.util.Iterator<java.lang.String> keyIterator()
-
keyArray
public java.lang.String[] keyArray()
Return a copy of the internal keys array. This array can be modified.
-
keyArray
public java.lang.String[] keyArray(java.lang.String[] outgoing)
-
value
public int value(int index)
-
values
public java.lang.Iterable<java.lang.Integer> values()
-
valueIterator
public java.util.Iterator<java.lang.Integer> valueIterator()
-
valueArray
public int[] valueArray()
Create a new array and copy each of the values into it.
-
valueArray
public int[] valueArray(int[] array)
Fill an already-allocated array with the values (more efficient than creating a new array each time). If 'array' is null, or not the same size as the number of values, a new array will be allocated and returned.- Parameters:
array- values to copy into the array
-
get
public int get(java.lang.String key)
Return a value for the specified key.
-
get
public int get(java.lang.String key, int alternate)
-
set
public void set(java.lang.String key, int amount)Create a new key/value pair or change the value of one.
-
hasKey
public boolean hasKey(java.lang.String key)
-
increment
public void increment(java.lang.String key)
Increase the value associated with a specific key by 1.
-
add
public void add(java.lang.String key, int amount)
-
sub
public void sub(java.lang.String key, int amount)
-
mult
public void mult(java.lang.String key, int amount)
-
div
public void div(java.lang.String key, int amount)
-
minIndex
public int minIndex()
-
minKey
public java.lang.String minKey()
-
minValue
public int minValue()
-
maxIndex
public int maxIndex()
-
maxKey
public java.lang.String maxKey()
return the key corresponding to the maximum value or null if no entries
-
maxValue
public int maxValue()
-
index
public int index(java.lang.String what)
-
remove
public int remove(java.lang.String key)
-
removeIndex
public java.lang.String removeIndex(int index)
-
swap
public void swap(int a, int b)
-
sortKeys
public void sortKeys()
Sort the keys alphabetically (ignoring case). Uses the value as a tie-breaker (only really possible with a key that has a case change).
-
sortKeysReverse
public void sortKeysReverse()
Sort the keys alphabetically in reverse (ignoring case). Uses the value as a tie-breaker (only really possible with a key that has a case change).
-
sortValues
public void sortValues()
Sort by values in ascending order. The smallest value will be at [0].
-
sortValues
public void sortValues(boolean stable)
Set true to ensure that the order returned is identical. Slightly slower because the tie-breaker for identical values compares the keys.- Parameters:
stable-
-
sortValuesReverse
public void sortValuesReverse()
Sort by values in descending order. The largest value will be at [0].
-
sortValuesReverse
public void sortValuesReverse(boolean stable)
-
getPercent
public FloatDict getPercent()
Sum all of the values in this dictionary, then return a new FloatDict of each key, divided by the total sum. The total for all values will be ~1.0.- Returns:
- an IntDict with the original keys, mapped to their pct of the total
-
copy
public IntDict copy()
Returns a duplicate copy of this object.
-
print
public void print()
-
write
public void write(java.io.PrintWriter writer)
Write tab-delimited entries out to- Parameters:
writer-
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-
DataMelt 3.0 © DataMelt by jWork.ORG