---
# System prepended metadata

title: Lecture 12 Setup/Prep
tags: [Setup]

---

---
tags: Setup
---

# Lecture 12 Setup/Prep

We'll cover two main topics in this lecture. 

First, we will summarize the differences between using arrays and linked chains of nodes to implement lists. We'll make the comparison by looking at the run time and space usage of several list operations (`addFirst`, `get`, etc.).

Second, we will learn how to set up our own list classes so that someone can write a Java for-loop for our list. The [starter code](https://brown-cs18-master.github.io/content/lectures/12iterators/lec12init.zip) has a version of our `LinkList` implementation and another class (`Votes`) that uses the `LinkList` class. **The code currently does not compile**, because the `Votes` class tries to use a `for` loop to count votes. By the end of lecture, we will have the code running.

## Prep

Just download the starter code, and maybe think about the differences that you perceive about lists vs arrays.

(Late Addition) -- the [slides Kathi will be showing today](https://brown-cs18-master.github.io/content/lectures/12iterators/12aux-slides.pptx) (for the breakout)