![]() |
Home | Methods & Control Structures | Class Implementation | Arrays/ArrayLists | 2D Arrays |
Question 3 — Arrays and ArrayLists
Notes on FRQ Question
Arrays
Arrays have a few important operations:
- Initializing (
int[] arr = new int[10];
) - Indexing (
arr[5]
) - Getting length (
arr.length
) - Iterating (using loops to access elements)
ArrayLists
ArrayLists aren’t of fixed length and can be more versatile:
- Initializing (
ArrayList<Integer> list = new ArrayList<>();
)- Note that you can’t use primitive types for the elements
- Getting value (
list.get(index)
) - Inserting value at end (
list.add(element)
) - Inserting value at an index (
list.add(index, element)
) - Getting index of element (
list.indexOf(element)
) - Checking if elmenet is in ArrayList (
list.contains(element)
) - Removing element at index (
list.remove(int index)
) - Removing element with value (
list.remove(Object value)
) - Set new value at an index (
list.set(index, element)
) - Getting size (
list.size()
) - Convert to primitive array (
list.toArray()
)
Example - 2020 FRQ Part 3
public class ReviewCollector {
private ArrayList<ProductReview> reviewList;
private ArrayList<String> productList;
public ReviewCollector() {
reviewList = new ArrayList<ProductReview>();
productList = new ArrayList<String>();
}
public void addReview(ProductReview prodReview) {
reviewList.add(prodReview);
productList.add(prodReview.getName());
}
/** Returns the number of good reviews for a given product name, as described in part (b). */
public int getNumGoodReviews(String prodName) {
int answer = 0;
for (ProductReview review : reviewList) {
if (review.getName().equals(prodName)) {
if (review.getReview.contains("best")) {
answer++;
}
}
}
return answer;
}
}
public class ProductReview {
private String name;
private String review;
public ProductReview(String pName, String pReview) {
name = pName;
review = pReview;
}
public String getName() {
return name;
}
public String getReview() {
return review;
}
}