Class StringList

  • All Implemented Interfaces:
    Iterable<String>

    public class StringList
    extends Object
    implements Iterable<String>
    Helper class for a list of Strings. 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:
    IntList, FloatList
    • Constructor Detail

      • StringList

        public StringList()
      • StringList

        public StringList​(int length)
      • StringList

        public StringList​(String[] list)
      • StringList

        public StringList​(Object... items)
        Construct a StringList from a random pile of objects. Null values will stay null, but all the others will be converted to String values.
      • StringList

        public StringList​(Iterable<String> iter)
        Create from something iterable, for instance: StringList list = new StringList(hashMap.keySet());
    • Method Detail

      • 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 String get​(int index)
        Get an entry at a particular index.
      • set

        public void set​(int index,
                        String 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​(String value)
        Just an alias for append(), but matches pop()
      • remove

        public String remove​(int index)
        Remove an element from the specified index.
      • removeValue

        public int removeValue​(String value)
      • removeValues

        public int removeValues​(String value)
      • replaceValue

        public int replaceValue​(String value,
                                String newValue)
      • replaceValues

        public int replaceValues​(String value,
                                 String newValue)
      • append

        public void append​(String value)
        Add a new entry to the list.
      • append

        public void append​(String[] values)
      • append

        public void append​(StringList list)
      • appendUnique

        public void appendUnique​(String value)
        Add this value, but only if it's not already in the list.
      • insert

        public void insert​(int index,
                           String value)
      • insert

        public void insert​(int index,
                           String[] values)
      • insert

        public void insert​(int index,
                           StringList list)
      • index

        public int index​(String what)
        Return the first index of a particular value.
      • hasValue

        public boolean hasValue​(String value)
      • 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.
      • lower

        public void lower()
        Make the entire list lower case.
      • upper

        public void upper()
        Make the entire list upper case.
      • values

        public String[] values()
        Returns the actual array being used to store the data. Suitable for iterating with a for() loop, but modifying the list could cause terrible things to happen.
      • array

        public String[] 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 String[] array​(String[] 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 -
      • getSubset

        public StringList getSubset​(int start)
      • getSubset

        public StringList getSubset​(int start,
                                    int num)
      • getUnique

        public String[] getUnique()
        Get a list of all unique entries.
      • getTally

        public IntDict getTally()
        Count the number of times each String entry is found in this list.
      • getOrder

        public IntDict getOrder()
        Create a dictionary associating each entry in this list to its index.
      • 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.