CSC 143/Chapter 10
From charlesreid1
Chapter 10: ArrayLists
Sections:
10.1 ArrayLists
10.2 Comparable interface
10.3 Case study: Vocabulary comparison
Section 10.1: ArrayLists
10.1 Definitions
Definitions:
- Generic class
- Wrapper class
- Boxing
- Unboxing
10.1 Materials
Introduce ArrayList object the way you would introduce the Python list
- List: basic data type, very important
- Difference between list and array - memory allocation and element insertion
- Dynamic arrays
Array notation
- Wrapper class, everything is an object, treat primitive types as objects
What kind of things would you want to do with an ArrayList?
Basic basic operations:
- Get size
Other basic operations:
- Get item at index i
- Set item at index i
- Add item, add item at index i
- Remove item
- Modify item at index i
Now that we have defined these basic operations, we can move on to examples/algorithms/implementations.
Section 10.2: Comparable interface
10.2 Definitions
Definitions:
- Comparison function
- Natural ordering
10.2 Materials
First, need to mention unboxing: ArrayList<Integer> vs ArrayList<int>
- Unboxing is a really stupid side effect of Java's implementation
- Everything is an object. Except the primitive types. But everything is an object.
Comparison of objects
- extend idea behind o1.equals(o2) to comparisons
- lt/lte/gt/gte
- how to redefine comparison operator for our own objects
Section 10.3: Vocabulary comparison
10.3 Material
Some efficiency considerations
Version 1: compute vocabulary
- Add unique words to ArrayList, and sort
Version 2: compute overlap
- Number of matches between two sentences
Version 3: complete program
- so far, build vocab list for 2 files, compute overlap between them
- now, to deal with large files, print statistics (Nwords, Noverlapwords, Percent overlap)
Chapter 10 Summary
Deliverables
ArrayList
- Notation, how to use it
- Conceptualizing problems that can be easily resolved with ArrayList
- Adding/removing and looping over ArrayLists
- Wrapper classes
Comparable
- Natural ordering and compareTo() function
- Implementing the Comparable interface
Case study: Vocab comparison
- Count number of unique words
- Count overlap between two lists
- Compute statistics
Chapter 10 Homework
HW Questions
(Recommended) Self-check problems:
(Required) Exercises:
(Required) Projects:
HW Details
Self-check:
Exercises:
Projects:
Chapter 10 Code
Lecture Code
NEED TO DO ALL OF THIS
Worksheet Code
NEED TO DO ALL OF THIS
Chapter 10 Goodies
Profiles
More Caesar ciphers, once they finish with this worksheet they'll be ready for the affine cipher
Puzzle 2
Flags
| CSC 143 - Intro to Programming II Computer Science 143 - Intro to Programming II, South Seattle College.
Chapter 8: Object Oriented Reivew CSC 143/Chapter 8 Chapter 9: Inheritance and Interfaces CSC 143/Chapter 9 Chapter 10: ArrayList CSC 143/Chapter 10 Chapter 11: Java Collections Framework CSC 143/Chapter 11 Chapter 12: Recursion CSC 143/Chapter 12 Chapter 13: Searching and Sorting CSC 143/Chapter 13 Chapter 14: Stacks and Queues CSC 143/Chapter 14 Chapter 16: Linked Lists CSC 143/Chapter 16
Category:Teaching · Category:CSC 143 · Category:CSC Related: CSC 142 Flags · Template:CSC143Flag · e |