ArrayLists:
ArrayList <String> myArrayList = new ArrayList(); // Create an ArrayList
myArrayList.add("myValue1"); // Add to the end of the list
System.out.println( myArrayList.get(0) ); // Access value at index 0
myArrayList.remove(0); // Remove value at index 0
- An ArrayList is like an array that can change size
- An ArrayList can contain values of the type specified in the <> brackets (primitive types like 'int' must be replaced with their corresponding class e.g. 'Integer')
- Requires import of java.util.ArrayList
- There are many other methods available for ArrayList objects, youi can find documentation on the internet
Creating ArrayLists with initial values:
ArrayList <Integer> myArrayList = new ArrayList<Integer>( Arrays.asList(62,21,13,45) );
System.out.println( myArrayList.get(2) ); // Access value at index 2
- java.util.Arrays must be imported for this to work
- This example would display the 3rd value: 13
More ArrayList Methods:
ArrayList <Integer> myArrayList = new ArrayList<Integer>( Arrays.asList(62,21,13,45) );
System.out.println( myArrayList.size() ); // Display how many are in the list
myArrayList.set(2, 15); // Change the value at index 2 to be 15
myArrayList.remove(1); // Remove the value at index 1
System.out.println( myArrayList.indexOf(32) ); // Display the index containing the value 45
System.out.println( myArrayList.contains(13) ); // Check if it contains the value 13
System.out.println( myArrayList.clear() ); // Clear list
System.out.println( myArrayList.isEmpty() ); // Check if empty
- There are still more methods available
Maps:
HashMap <Integer, String> myHashMap = new HashMap<Integer, String>();
myHashMap.put( 12312, "Billy" ); // Add a key, value pair to the map
myHashMap.put( 52342, "Sally" ); // Add another
System.out.println( myHashMap.get(12312) ); // Access entry by key
myHashMap.remove(12312); // Remove entry with specified value
myHashMap.clear(); // Remove all items from map
- A map is like an ArrayList except that you access values by their secified key rather than by the index
- Maps can be used to access a name associated with an ID or a phone number associated with a name
- It doesn't have to be a number linked with a string, it could be any two data types (as specified in the < , >)
- Must import java.util.HashMap
Sets:
HashSet <String> mySet = new HashSet<String>();
mySet.add( "apple" ); // Add a value
mySet.add( "apple" ); // Adding same value will not change the set
System.out.println( mySet.contains("apple") ); // See if item in set
mySet.remove("apple"); // Remove entry with specified value
System.out.println( mySet.size() ); // See how many items in set
mySet.clear(); // Remove all items from set
- A set is a list that contains 1 instance of whatever item you add to it (no duplicates)
- Must import java.util.HashSet
Stacks:
Stack <String> myStack = new Stack<String>();
myStack.add( "apple" ); // Add a value/item
System.out.println( myStack.peek() ); // View the last added item
System.out.println( myStack.pop() ); // View and remove the last added item
System.out.println( myStack.size() ); // See how many items in stack
myStack.clear(); // Remove all items from stack
- A stack is a list where each new item is added as if to the top of a pile, so that the last added item can be retrieved easily
- This is useful when you need to handle tasks in reverse sequence that they were collected, such as for backtracking actions, or parsing a nested structure
- Must import java.util.Stack