AP Computer Science A — Unit 7 Review: ArrayList
import java.util.ArrayList;
// Declare & instantiate an empty ArrayList of String
ArrayList<String> list = new ArrayList<>();
// Declare & instantiate with initial values
ArrayList<Integer> nums = new ArrayList<>(Arrays.asList(3,1,8));
import java.util.ArrayList
.Integer
, Double
).Action | ArrayList Syntax | Returns |
---|---|---|
Add to end | list.add(item) |
true |
Add at index | list.add(index, item) |
void |
Get element | list.get(index) |
element at index |
Set element | list.set(index, item) |
old element |
Remove element | list.remove(index) or list.remove(obj) |
removed element |
Size | list.size() |
int |
for
Loopfor (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
.size()
(not .length
).IndexOutOfBounds
by checking i < size()
each iteration.for
Loopfor (String s : list) {
System.out.print(s + " ");
}
Primitives cannot be stored directly; use their wrapper types:
int
→ Integer
double
→ Double
boolean
→ Boolean
java
Integer obj = Integer.valueOf(5);
int x = obj.intValue();
* Autoboxing: Java automatically converts between int
↔Integer
when using add()
, get()
, etc.
Goal: Remove every occurrence of a target value and optionally count or collect them.
public List<String> removeAll(List<String> items, String target) {
List<String> removed = new ArrayList<>();
for (int i = items.size() - 1; i >= 0; i--) {
if (items.get(i).equals(target)) {
removed.add(items.remove(i));
}
}
return removed;
}
size()-1
↓ 0
) to avoid skipping after removals.equals()
or equalsIgnoreCase()
for strings; use ==
, >
, <
for wrapper types.equals()
with contains()
or indexOf()
check.int[] arr = {5,3,1,8};
ArrayList<Integer> list = new ArrayList<>();
for (int x : arr) {
list.add(x);
}
ArrayList<Wrapper>
then loop through array, adding each element.for
and enhanced for based on whether you need index control or modifications.Master these patterns for AP CSA ArrayList questions!