- java.lang.Object
-
- processing.data.LongList
-
public class LongList extends Object implements Iterable<Long>
Helper class for a list of ints. Lists are designed to have some of the features of ArrayLists, but to maintain the simplicity and efficiency of working with arrays. Functions like sort() and shuffle() always act on the list itself. To get a sorted copy, use list.copy().sort().- See Also:
FloatList,StringList
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, int amount)voidappend(int[] values)voidappend(long value)Add a new entry to the list.voidappend(LongList list)voidappendUnique(int value)Add this value, but only if it's not already in the list.int[]array()Create a new array with a copy of all the values.int[]array(int[] array)Copy values into the specified array.voidclear()Remove all entries from the list.LongListcopy()voiddiv(int index, int amount)static LongListfromRange(int stop)static LongListfromRange(int start, int stop)longget(int index)Get an entry at a particular index.FloatListgetPercent()Returns a normalized version of this array.LongListgetSubset(int start)LongListgetSubset(int start, int num)booleanhasValue(int value)voidincrement(int index)intindex(int what)Return the first index of a particular value.voidinsert(int index, long value)voidinsert(int index, long[] values)voidinsert(int index, LongList list)Iterator<Long>iterator()Stringjoin(String separator)longmax()intmaxIndex()longmin()intminIndex()voidmult(int index, int amount)longpop()voidprint()voidpush(int value)Just an alias for append(), but matches pop()longremove(int index)Remove an element from the specified indexintremoveValue(int value)intremoveValues(int value)voidresize(int length)voidreverse()voidsave(File file)Save tab-delimited entries to a file (TSV format, UTF-8 encoding)voidset(int index, int what)Set the entry at a particular index.voidshuffle()Randomize the order of the list elements.voidshuffle(PApplet sketch)Randomize the list order using the random() function from the specified sketch, allowing shuffle() to use its current randomSeed() setting.intsize()Get the length of the list.voidsort()Sorts the array in place.voidsortReverse()Reverse sort, orders values from highest to lowest.voidsub(int index, int amount)intsum()longsumLong()StringtoJSON()Return this dictionary as a String in JSON format.StringtoString()long[]values()Returns the actual array being used to store the data.voidwrite(PrintWriter writer)Write entries to a PrintWriter, one per line-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
LongList
public LongList()
-
LongList
public LongList(int length)
-
LongList
public LongList(int[] source)
-
LongList
public LongList(Iterable<Object> iter)
Construct an IntList from an iterable pile of objects. For instance, a float array, an array of strings, who knows). Un-parseable or null values will be set to 0.
-
LongList
public LongList(Object... items)
Construct an IntList from a random pile of objects. Un-parseable or null values will be set to zero.
-
-
Method Detail
-
fromRange
public static LongList fromRange(int stop)
-
fromRange
public static LongList fromRange(int start, int stop)
-
size
public int size()
Get the length of the list.
-
resize
public void resize(int length)
-
clear
public void clear()
Remove all entries from the list.
-
get
public long get(int index)
Get an entry at a particular index.
-
set
public void set(int index, int what)Set the entry at a particular index. If the index is past the length of the list, it'll expand the list to accommodate, and fill the intermediate entries with 0s.
-
push
public void push(int value)
Just an alias for append(), but matches pop()
-
pop
public long pop()
-
remove
public long remove(int index)
Remove an element from the specified index
-
removeValue
public int removeValue(int value)
-
removeValues
public int removeValues(int value)
-
append
public void append(long value)
Add a new entry to the list.
-
append
public void append(int[] values)
-
append
public void append(LongList list)
-
appendUnique
public void appendUnique(int value)
Add this value, but only if it's not already in the list.
-
insert
public void insert(int index, long value)
-
insert
public void insert(int index, long[] values)
-
insert
public void insert(int index, LongList list)
-
index
public int index(int what)
Return the first index of a particular value.
-
hasValue
public boolean hasValue(int value)
-
increment
public void increment(int index)
-
add
public void add(int index, int amount)
-
sub
public void sub(int index, int amount)
-
mult
public void mult(int index, int amount)
-
div
public void div(int index, int amount)
-
min
public long min()
-
minIndex
public int minIndex()
-
max
public long max()
-
maxIndex
public int maxIndex()
-
sum
public int sum()
-
sumLong
public long sumLong()
-
sort
public void sort()
Sorts the array in place.
-
sortReverse
public void sortReverse()
Reverse sort, orders values from highest to lowest.
-
reverse
public void reverse()
-
shuffle
public void shuffle()
Randomize the order of the list elements. Note that this does not obey the randomSeed() function in PApplet.
-
shuffle
public void shuffle(PApplet sketch)
Randomize the list order using the random() function from the specified sketch, allowing shuffle() to use its current randomSeed() setting.
-
copy
public LongList copy()
-
values
public long[] values()
Returns the actual array being used to store the data. For advanced users, this is the fastest way to access a large list. Suitable for iterating with a for() loop, but modifying the list will have terrible consequences.
-
array
public int[] array()
Create a new array with a copy of all the values.- Returns:
- an array sized by the length of the list with each of the values.
-
array
public int[] array(int[] array)
Copy values into the specified array. If the specified array is null or not the same size, a new array will be allocated.- Parameters:
array-
-
getPercent
public FloatList getPercent()
Returns a normalized version of this array. Called getPercent() for consistency with the Dict classes. It's a getter method because it needs to returns a new list (because IntList/Dict can't do percentages or normalization in place on int values).
-
getSubset
public LongList getSubset(int start)
-
getSubset
public LongList getSubset(int start, int num)
-
print
public void print()
-
save
public void save(File file)
Save tab-delimited entries to a file (TSV format, UTF-8 encoding)
-
write
public void write(PrintWriter writer)
Write entries to a PrintWriter, one per line
-
toJSON
public String toJSON()
Return this dictionary as a String in JSON format.
-
-