Java Using Lists v1
Java Using Lists v1
Sarah Holderness
PLURALSIGHT AUTHOR
@dr_holderness
Assumptions
COLLECTION
•add()
•remove()
•size()
•contains()
•clear()
•isEmpty()
•… and more!
Types of Collections
COLLECTION INTERFACE
LIST SET
COLLECTION INTERFACE
LIST SET
LIST
0 1 2 3 4 5 6 7 8
A List is ordered
List and Collection Methods
COLLECTION
Collection methods:
•add() •remove() The methods a Collection
must implement.
•clear() •size()
•contains() •toArray()
•equals() •… and more!
LIST
List is also an interface.
List methods: A List must also implement
•add() at index •set() these methods.
•LinkedList
•Vector
•Stack
Initializing a List
Our List will store the names of some programming languages as
Strings.
List<String>
List String languages = new ArrayList<>();
ArrayList<>
Why not make the variable an ArrayList on the left instead of List?
Using a general
List<String> languages = new LinkedList
List LinkedList<>(); List on the left is
more flexible
List<String> languages = new MyList
List MyList<>();
Lists Can Hold any Type of Object
List of Integers
List<Integer> numbers = new ArrayList<>();
System.out.println(languages.size());
Console output
> 4
Iterating through Elements in a List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
languages.add(“Go");
Console output
> Java
Python
JavaScript
Go
Iterating through Elements in a List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
languages.add(“Go");
for (String language : languages) Inside the loop body you can use
language to reference each
System.out.println(language); individual String in the List.
Accessing Elements in a List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("JavaScript"); Java Python JavaScript Go
languages.add(“Go");
0 1 2 3
System.out.println(languages.indexOf("Python"));
System.out.println(languages.get(2));
Console output
> 1
JavaScript
Removing Elements from a List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
languages.add(“Go"); Java Python JavaScript Go
0 1 2
languages[3] = "JavaScript";
languages[4] = “Python"; We originally created an So indices 3 and 4
array of size 3 and arrays don’t exist.
can’t be resized.
Console output
Empty cells
Size is 8.
are null.
That doesn’t indicate there
are 4 elements in the array.
Removing Elements from an Array
To remove C# can
we just set that
value to null?
To remove C# we have to
shift all of the following
elements over.
C# is removed and
Java Go Python null null null null null
the gap is filled.
– Array length is immutable
languages.add("Java");
languages.add("C#");
languages.add("Python");
languages.add("JS");
languages.add("Go");
toArray() returns an Array of
Object[] langsArray = languages.toArray(); general Objects by default…
languages.add("Java");
languages.add("C#"); Java C# Python JS Go
languages.add("Python");
languages.add("JS");
languages.add("Go");
Java C# Python
languages.add("Java");
languages.add("C#"); Java C# Groovy JS Go
languages.add("Python");
languages.add("JS");
languages.add("Go");
Java C# Groovy
someLangs.set(2, "Groovy");