Array Lists. CSE 1310 Introduction to Computers and Programming University of Texas at Arlington. Last modified: 4/17/18

Size: px
Start display at page:

Download "Array Lists. CSE 1310 Introduction to Computers and Programming University of Texas at Arlington. Last modified: 4/17/18"

Transcription

1 Array Lists CSE 1310 Introduction to Computers and Programming University of Texas at Arlington Last modified: 4/17/18 1

2 DEPARTAMENTAL FINAL EXAM Monday, DEC 10, 5:30pm-8pm rooms will be determined 2

3 Fixed size: Limitations of Arrays must know the size when you create it. Hard to insert or remove elements Must slide the following ones over Assume that an array has this actual data: 5 names in sorted order. Note that: the array size is 10, but the number of useful items is "Alice" "Cane" "Jess" "Sue" "Tom" null null null null null Insert "Ben" in the correct place so that the array is still sorted. - How will the array look now? "Alice", "Ben", "Cane", "Jess", "Sue", "Tom" - How will you manipulate the data to achieve this effect? - Write the code that implements the action above. Next remove "Jess" : - How will the array look now? "Alice", "Ben", "Cane", "Sue", "Tom", - How will you manipulate the data to achieve this effect? - Write the code that implements the action above. 3

4 Limitations of Arrays (cont) Applications where this is inconvenient: Reading data from a file and storing it in an array: I do not know the size: how many are there in the file? Phone book program: The user should be allowed to add new entries and remove old entries. Many more 4

5 Array Lists ArrayList is an alternative to an array in Java. It makes it easy to: Initialize without specifying a size. Add elements at the end Remove elements. Insert elements at any position. It automatically adjusts the size as needed based on the operation (add/remove). 5

6 ArrayList of Strings Example import java.util.scanner; import java.util.arraylist;... public static void arraylistpractice() ArrayList<String> strlist = new ArrayList<String>();//empty list(size 0) size() System.out.println(strList); // [] // Note: can be printed directly. strlist.add("alice"); strlist.add("cane"); strlist.add("jess"); System.out.println(strList); // add/insert a new element at the end // [Alice, Cane, Jess] strlist.add(1,"ben"); // insert a new element at index 1 System.out.println(strList); // [Alice, Ben, Cane, Jess] System.out.println(strList.get(2)); // Cane //returns element at given index (2). strlist.set(3,"jody"); System.out.println(strList); // modify existing element from given index // [Alice, Ben, Cane, Jody] strlist.remove(0); // remove element from index 0 System.out.println(strList); strlist.remove("cane"); System.out.println(strList); // [Ben, Cane, Jody] // remove element with the given value System.out.println(strList.size()); // 2 // [Ben, Jody] strlist.add(3,"matt"); // IndexOutOfBoundsException: Index: 3, Size: 2 new add(val) add(idx, val) get(idx) set(idx, val) remove(idx) remove(val) // returns the size (number of items) 6

7 Removing a Value in an Array List Removing Matches (6.8.8., pg 295) Note that if you iterate with a loop over the ArrayList and you remove an element (e.g. because it has a specific value) as the counter gets incremented, you will skip the element coming after the removed one. 7

8 Variables Pointing to Same Set This topic is a VERY COMMON SOURCE OF MISUNDERSTANDINGS. See the array slides. When two array (or array list) variables are set equal to each other, they are fundamentally linked: They both refer to the same set of values. In computer science, we say that they are both pointers, pointing to the same set of values. Any modification to that set of values affects all the variables that point to it. The only way to break that link, is to assign an array (or array list) variable to some other value. It is important to identify (and treat separately) assignments of array variables vs. modifications. 8

9 Sorting ArrayLists with the Collections Class import java.util.collections;... Collections.sort(arrList); // sort in reverse order Collections.sort(arrList, Collections.reverseOrder()); System.out.println("Sorted arraylist: " + arrlist); 9

10 Items of ArrayList must be Objects => use the Integer class instead of int import java.util.arraylist; public static ArrayList<Integer> user_integers() Scanner in = new Scanner(System.in); ArrayList<Integer> result = new ArrayList<Integer>(); while(true) System.out.printf("Enter a number, or q to quit: "); String input = in.next(); if (input.equals("q")) return result; int number = Integer.parseInt(input); result.add(number); System.out.printf("\n"); for (int i = 0; i < numbers.size(); i++) Creates an empty ArrayList object. (initial size is 0) Add number at the end. Automatically converts int to Integer. Automatically adjusts the size. Get the current size (with useful data). System.out.printf("position %d: = %d\n", i, numbers.get(i)); Returns the element at index i 10

11 See File I/O slides for reading from a file into an ArrayList of strings: ArrayList<String>. 11

12 Another Example (Useful student practice) 12

13 Finding the Smallest Value Write a function find_min that: Takes as input an array list of integers. Returns the smallest value among those integers. 13

14 Finding the Smallest Value Solution for arrays: Solution for array lists: public static int find_min(int[] vals) int result = vals[0]; for (int i=0;i<vals.length;i++) if (vals[i] < result) result = vals[i]; return result; public static int find_min(arraylist<integer> vals) int result = vals.get(0); for (int i=0;i<vals.size();i++) if (vals.get(i) < result) result = vals.get(i); return result; 14

15 Finding the Largest Value Write a function find_max that: Takes as input an array list of integers. Returns the largest value among those integers. Solution for array lists: public static int find_max(arraylist<integer> values) int result = values.get(0); for (int i = 0; i < values.size(); i++) if (values.get(i) > result) result = values.get(i); return result; 15

16 An Example Program Write a program that: Asks the user to enter some integers, and stores them in an array list. Prints out the values, indicating the maximum and the minimum. See sample output to the right. Example Output: Enter a number, or q to quit: 40 Enter a number, or q to quit: 10 Enter a number, or q to quit: 80 Enter a number, or q to quit: 90 Enter a number, or q to quit: 20 Enter a number, or q to quit: q position 0: 40 position 1: 10 *** smallest value *** position 2: 80 position 3: 90 *** largest value *** position 4: 20 16

17 public static void main(string[] args) ArrayList<Integer> numbers = user_integers(); int smallest = find_min(numbers); int largest = find_max(numbers); System.out.printf("\n"); for (int i = 0; i < numbers.size(); i++) System.out.printf("position %d: %d", i, numbers.get(i)); if (numbers.get(i) == smallest) Arrays System.out.printf(" *** smallest value ***\n"); else if (numbers.get(i) == largest) System.out.printf(" *** largest value ***\n"); else System.out.printf("\n"); CSE 1310 Introduction to Computers and Programming University of Texas at Arlington 1 17

18 Practice Problems Shift an ArrayList by k positions to the (left or to the right). (Start with special method for k = 1.) Given ArrayList of strings and array of int, find the smallest string from the strings at positions given by the array of int. Given ArrayList of strings return ArrayList of Integer with the lengths of the corresponding strings. 18

Arrays and Array Lists. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos and Alexandra Stefan University of Texas at Arlington

Arrays and Array Lists. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos and Alexandra Stefan University of Texas at Arlington Arrays and Array Lists CSE 1310 Introduction to Computers and Programming Vassilis Athitsos and Alexandra Stefan University of Texas at Arlington 1 Motivation Current limitation: We cannot record multiple

More information

Adam Blank Lecture 2 Winter 2019 CS 2. Introduction to Programming Methods

Adam Blank Lecture 2 Winter 2019 CS 2. Introduction to Programming Methods Adam Blank Lecture 2 Winter 2019 CS 2 Introduction to Programming Methods CS 2: Introduction to Programming Methods File I/O, Object Oriented Programming, and Lists Questions From Last Time 1 What are

More information

CS Programming I: ArrayList

CS Programming I: ArrayList CS 200 - Programming I: ArrayList Marc Renault Department of Computer Sciences University of Wisconsin Madison Spring 2018 TopHat Sec 3 (AM) Join Code: 427811 TopHat Sec 4 (PM) Join Code: 165455 ArrayLists

More information

Array Based Lists. Collections

Array Based Lists. Collections Array Based Lists Reading: RS Chapter 15 1 Collections Data structures stores elements in a manner that makes it easy for a client to work with the elements Specific collections are specialized for particular

More information

COMP200 GENERICS. OOP using Java, from slides by Shayan Javed

COMP200 GENERICS. OOP using Java, from slides by Shayan Javed 1 1 COMP200 GENERICS OOP using Java, from slides by Shayan Javed 2 ArrayList and Java Generics 3 Collection A container object that groups multiple objects 4 Collection A container object that groups multiple

More information

Maximization and Minimization Problems. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Maximization and Minimization Problems. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Maximization and Minimization Problems CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Maximization Problems Given a set of data, we want to find

More information

1. ArrayList and Iterator in Java

1. ArrayList and Iterator in Java 1. ArrayList and Iterator in Java Inserting elements between existing elements of an ArrayList or Vector is an inefficient operation- all element after the new one must be moved out of the way which could

More information

Common Mistakes with Functions. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Common Mistakes with Functions. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Common Mistakes with Functions CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Common Mistakes with Functions Printing instead of returning. Returning

More information

Adam Blank Lecture 5 Winter 2015 CSE 143. Computer Programming II

Adam Blank Lecture 5 Winter 2015 CSE 143. Computer Programming II Adam Blank Lecture 5 Winter 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II Stacks & Queues Questions From Last Time 1 Can we include implementation details in the inside comments

More information

AP Computer Science Lists The Array type

AP Computer Science Lists The Array type AP Computer Science Lists There are two types of Lists in Java that are commonly used: Arrays and ArrayLists. Both types of list structures allow a user to store ordered collections of data, but there

More information

Java Coding 6. Collections

Java Coding 6. Collections Java Coding 6 Collections Arrays of Objects Arrays of objects Array contains only references to objects Track[] tracks; tracks = new Track[5]; Still need to create actual objects tracks[0] = new Track(

More information

CS 302: Introduction to Programming in Java. Lecture 12

CS 302: Introduction to Programming in Java. Lecture 12 CS 302: Introduction to Programming in Java Lecture 12 1 Review What is the 3-step processing for using Objects (think Scanner and Random)? Do objects use static methods or non-static (how do you know)?

More information

COE318 Lecture Notes Week 13 (Nov 28, 2011)

COE318 Lecture Notes Week 13 (Nov 28, 2011) COE318 Software Systems Lecture Notes: Week 13 1 of 8 COE318 Lecture Notes Week 13 (Nov 28, 2011) Topics Review Questions/Answers K. Clowes counselling hours for exam week Counselling Hours for Exam Week

More information

Lab Activity Plan. John Dalbey CPE /30/2013

Lab Activity Plan. John Dalbey CPE /30/2013 John Dalbey CPE 13-5 9/3/213 Lab Activity Plan Purpose The purpose of this lab is to demonstrate the performance impacts of autoboxing in Java. The textbook describes how Java will automatically convert

More information

CITS1001 week 4 Grouping objects

CITS1001 week 4 Grouping objects CITS1001 week 4 Grouping objects Arran Stewart March 20, 2018 1 / 31 Overview In this lecture, we look at how can group objects together into collections. Main concepts: The ArrayList collection Processing

More information

Adam Blank Lecture 4 Winter 2015 CSE 143. Computer Programming II

Adam Blank Lecture 4 Winter 2015 CSE 143. Computer Programming II Adam Blank Lecture 4 Winter 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II Efficiency; Interfaces Questions From Last Time 1 Does a constructor have to use all the fields specified

More information

CompSci 125 Lecture 09. Chapter 5: while, break and continue statements Iterators and the ArrayList Class

CompSci 125 Lecture 09. Chapter 5: while, break and continue statements Iterators and the ArrayList Class CompSci 125 Lecture 09 Chapter 5: while, break and continue statements Iterators and the ArrayList Class Homework Update HW3 Due 9/20 HW4 Due 9/27 Exam-1 10/2 Programming Assignment Update p1: Traffic

More information

CSE Fall 2015 Section 002 Exam 2, Time: 80 mins

CSE Fall 2015 Section 002 Exam 2, Time: 80 mins CSE 1310 - Fall 2015 Section 002 Exam 2, Time: 80 mins Name:. Student ID:. Total exam points: 100. Question Points Out of 1 20 2 20 3 20 4 20 5 20 6 20 Total 100 SOLVE 5 OUT 6 PROBLEMS. You must specify

More information

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand

COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Section 101 Computer Science 1 -- Prof. Michael A. Soderstrand COSC 236 Web Site You will always find the course material at: http://www.class-notes.us or http://www.class-notes.info or http://www.lecture-notes.tripod.com

More information

CS163/164 Final Exam Study Session

CS163/164 Final Exam Study Session CS163/164 Final Exam Study Session Review What is printed? public static void main (String [] args){ String s = "Winter Break"; System.out.println(s.indexOf('c')); System.out.println(s.indexOf('e')); System.out.println(s.charAt(2));

More information

CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists

CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists CSE 1223: Introduction to Computer Programming in Java Chapter 6 ArrayLists 1 A programming problem Consider the following task: Double values representing grades are read until the user enters a negative

More information

Lesson 26: ArrayList (W08D1)

Lesson 26: ArrayList (W08D1) Lesson 26: ArrayList (W08D1) Balboa High School Michael Ferraro October 5, 2015 1 / 25 Do Now Prepare PS #4a (paper form) for pick-up! Consider the code below for powiter(), an iterative algorithm that

More information

Object Oriented Programming. Java-Lecture 6 - Arrays

Object Oriented Programming. Java-Lecture 6 - Arrays Object Oriented Programming Java-Lecture 6 - Arrays Arrays Arrays are data structures consisting of related data items of the same type In Java arrays are objects -> they are considered reference types

More information

Midterm Exam 2 CS 455, Spring 2014

Midterm Exam 2 CS 455, Spring 2014 Name: USC loginid (e.g., ttrojan): Midterm Exam 2 CS 455, Spring 2014 Monday, April 7, 2014 There are 6 problems on the exam, with 58 points total available. There are 7 pages to the exam, including this

More information

COE 212 Engineering Programming. Welcome to the Final Exam Tuesday December 15, 2015

COE 212 Engineering Programming. Welcome to the Final Exam Tuesday December 15, 2015 1 COE 212 Engineering Programming Welcome to the Final Exam Tuesday December 15, 2015 Instructors: Dr. Salim Haddad Dr. Bachir Habib Dr. Joe Tekli Dr. Wissam F. Fawaz Name: Student ID: Instructions: 1.

More information

Decisions (If Statements) And Boolean Expressions

Decisions (If Statements) And Boolean Expressions Decisions (If Statements) And Boolean Expressions CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Last updated: 2/15/16 1 Syntax if (boolean_expr)

More information

Slides are adapted from the originals available at

Slides are adapted from the originals available at C H A P T E R 1 1! Arrays and ArrayLists Little boxes, on a hillside, little boxes made of ticky-tacky Little boxes, little boxes, little boxes, all the same There s a green one and a pink one and a blue

More information

Bjarne Stroustrup. creator of C++

Bjarne Stroustrup. creator of C++ We Continue GEEN163 I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone. Bjarne Stroustrup creator

More information

1 class Lecture5 { 2 3 "Methods" / References 8 [1] Ch. 5 in YDL 9 [1] Ch. 20 in YDL 0 / Zheng-Liang Lu Java Programming 176 / 199

1 class Lecture5 { 2 3 Methods / References 8 [1] Ch. 5 in YDL 9 [1] Ch. 20 in YDL 0 / Zheng-Liang Lu Java Programming 176 / 199 1 class Lecture5 { 2 3 "Methods" 4 5 } 6 7 / References 8 [1] Ch. 5 in YDL 9 [1] Ch. 20 in YDL 0 / Zheng-Liang Lu Java Programming 176 / 199 Methods 2 Methods can be used to define reusable code, and organize

More information

After the code has executed, what is the capacity of list? What is its size? c

After the code has executed, what is the capacity of list? What is its size? c Assignment 8 ArrayList Class CSC 123 Fall 2018 Answer Sheet Short Answers. 1. Declare and construct an ArrayList with an initial capacity of 20 references to Object. d a. Object list(20) = new ArrayList()

More information

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls. Jump Statements The keyword break and continue are often used in repetition structures to provide additional controls. break: the loop is terminated right after a break statement is executed. continue:

More information

Lecture 14 CSE11 Fall 2013 For loops, Do While, Break, Continue

Lecture 14 CSE11 Fall 2013 For loops, Do While, Break, Continue Lecture 14 CSE11 Fall 2013 For loops, Do While, Break, Continue General Loops in Java Look at other loop constructions Very common while loop: do a loop a fixed number of times (MAX in the example) int

More information

H212 Introduction to Software Systems Honors

H212 Introduction to Software Systems Honors Introduction to Software Systems Honors Lecture #04: Fall 2015 1/20 Office hours Monday, Wednesday: 10:15 am to 12:00 noon Tuesday, Thursday: 2:00 to 3:45 pm Office: Lindley Hall, Room 401C 2/20 Printing

More information

Basic Problem solving Techniques Top Down stepwise refinement If & if else.. While.. Counter controlled and sentinel controlled repetition Usage of

Basic Problem solving Techniques Top Down stepwise refinement If & if else.. While.. Counter controlled and sentinel controlled repetition Usage of Basic Problem solving Techniques Top Down stepwise refinement If & if.. While.. Counter controlled and sentinel controlled repetition Usage of Assignment increment & decrement operators 1 ECE 161 WEEK

More information

All answers will be posted on web site, and most will be reviewed in class.

All answers will be posted on web site, and most will be reviewed in class. Assignment 8 ArrayList Class CSC 123 Fall 2018 Notes: All homework must be submitted via e-mail. All parts of assignment must be submitted in a single e-mail with multiple attachments when required. Notes:

More information

Example Algorithms. CSE 2320 Algorithms and Data Structures Alexandra Stefan. University of Texas at Arlington. Last updated 9/7/2016

Example Algorithms. CSE 2320 Algorithms and Data Structures Alexandra Stefan. University of Texas at Arlington. Last updated 9/7/2016 Example Algorithms CSE 2320 Algorithms and Data Structures Alexandra Stefan University of Texas at Arlington Last updated 9/7/2016 1 Summary Binary Search See the notation conventions (e.g. log 2 N = lg

More information

Computer Science 210 Data Structures Siena College Fall 2018

Computer Science 210 Data Structures Siena College Fall 2018 Computer Science 210 Data Structures Siena College Fall 2018 Topic Notes: The ArrayList Arrays are a very common method to store a collection of similar items. Arrays work very well for a lot of situations,

More information

CS 455 Midterm 2 Spring 2018 [Bono] Apr. 3, 2018

CS 455 Midterm 2 Spring 2018 [Bono] Apr. 3, 2018 Name: USC NetID (e.g., ttrojan): CS 455 Midterm 2 Spring 2018 [Bono] Apr. 3, 2018 There are 7 problems on the exam, with 59 points total available. There are 10 pages to the exam (5 pages double-sided),

More information

1. What is the difference between a compiler and an interpreter? Also, discuss Java s method.

1. What is the difference between a compiler and an interpreter? Also, discuss Java s method. Name: Write all of your responses on these exam pages. 1 Short Answer (5 Points Each) 1. What is the difference between a compiler and an interpreter? Also, discuss Java s method. 2. Java is a platform-independent

More information

The combination of pointers, structs, and dynamic memory allocation allow for creation of data structures

The combination of pointers, structs, and dynamic memory allocation allow for creation of data structures Data Structures in C C Programming and Software Tools N.C. State Department of Computer Science Data Structures in C The combination of pointers, structs, and dynamic memory allocation allow for creation

More information

2.8. Decision Making: Equality and Relational Operators

2.8. Decision Making: Equality and Relational Operators Page 1 of 6 [Page 56] 2.8. Decision Making: Equality and Relational Operators A condition is an expression that can be either true or false. This section introduces a simple version of Java's if statement

More information

CS 455 Midterm Exam 1 Fall 2010 [Bono] Sept. 29, 2010

CS 455 Midterm Exam 1 Fall 2010 [Bono] Sept. 29, 2010 SOLUTION Name: USC loginid (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2010 [Bono] Sept. 29, 2010 There are 4 problems on the exam, with 55 points total available. There are 7 pages to the exam, including

More information

CSC 222: Object-Oriented Programming. Spring 2012

CSC 222: Object-Oriented Programming. Spring 2012 CSC 222: Object-Oriented Programming Spring 2012 Lists, data storage & access ArrayList class methods: add, get, size, remove, contains, set, indexof, tostring generics, for-each loop autoboxing & unboxing

More information

Methods (Functions) CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Methods (Functions) CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Methods (Functions) CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 What Is a Method? A method is a mechanism for allowing a piece of code to be

More information

Arun chakravarthy Alagar samy. Technical Skill. Java Code Challenge - Basic Java

Arun chakravarthy Alagar samy. Technical Skill. Java Code Challenge - Basic Java Arun chakravarthy Alagar samy E-MAIL arunchakkravarthy@gmail.com DATE OF LAST ACTIVITY 2017-11-27 TEST Java Code Challenge - Basic LANGUAGES USED Java Technical Skill CANDIDATE RESULT SKILL THRESHOLD Strongly

More information

Beside List, there are two other common collections. Set: like a mathematical set, unordered, no repetitions.

Beside List, there are two other common collections. Set: like a mathematical set, unordered, no repetitions. Collections Beside List, there are two other common collections. Set: like a mathematical set, unordered, no repetitions. Map: Indexes collections by arbitrary keys. HashSet import java.util.hashset;

More information

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls. Jump Statements The keyword break and continue are often used in repetition structures to provide additional controls. break: the loop is terminated right after a break statement is executed. continue:

More information

This exam is open book. Each question is worth 3 points.

This exam is open book. Each question is worth 3 points. This exam is open book. Each question is worth 3 points. Page 1 / 15 Page 2 / 15 Page 3 / 12 Page 4 / 18 Page 5 / 15 Page 6 / 9 Page 7 / 12 Page 8 / 6 Total / 100 (maximum is 102) 1. Are you in CS101 or

More information

01. Which of the following statement describes dynamic resizing as is applies to the ArrayList class?

01. Which of the following statement describes dynamic resizing as is applies to the ArrayList class? Exposure Java Chapter 11 Multiple Choice Test ArrayList Class DO NOT WRITE ON THIS TEST This test includes program segments, which are not complete programs. Answer such questions with the assumption that

More information

Methods. Every Java application must have a main method.

Methods. Every Java application must have a main method. Methods Every Java application must have a main method. The JVM calls main when it runs your program. When main finishes control goes back to the JVM. Up to now, we have always coded public static void

More information

Midterm Examination (MTA)

Midterm Examination (MTA) M105: Introduction to Programming with Java Midterm Examination (MTA) Spring 2013 / 2014 Question One: [6 marks] Choose the correct answer and write it on the external answer booklet. 1. Compilers and

More information

Dynamic Arrays. Fundamentals of Computer Science

Dynamic Arrays. Fundamentals of Computer Science Dynamic Arrays Fundamentals of Computer Science Outline Dynamically sized arrays Java ArrayList Like an array but extra-powerful Has no fixed sized Add/remove elements dynamically as needed Contains objects

More information

CSC 1051 Data Structures and Algorithms I

CSC 1051 Data Structures and Algorithms I Repetition CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this

More information

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: if Single-Selection Statement CSC 209 JAVA I. week 3- Control Statements: Part I AL GHURAIR UNIVERSITY College of Computing CSC 209 JAVA I week 3- Control Statements: Part I Objectives: To use the if and if...else selection statements to choose among alternative actions. To use the

More information

Last Class. While loops Infinite loops Loop counters Iterations

Last Class. While loops Infinite loops Loop counters Iterations Last Class While loops Infinite loops Loop counters Iterations public class January31{ public static void main(string[] args) { while (true) { forloops(); if (checkclassunderstands() ) { break; } teacharrays();

More information

Arrays and Lists Review CSC 123 Fall 2018 Howard Rosenthal

Arrays and Lists Review CSC 123 Fall 2018 Howard Rosenthal Arrays and Lists Review CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Review what an array is Review how to declare arrays Review what reference variables are Review how to pass arrays to methods Review

More information

Intro to Computer Science II

Intro to Computer Science II Intro to Computer Science II CS112-2012S-05 I/O and ArrayList David Galles Department of Computer Science University of San Francisco 05-0: More on I/O Lots of ways to use Scanner class Always get more

More information

CSC 1051 Data Structures and Algorithms I

CSC 1051 Data Structures and Algorithms I Repetition CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this

More information

Abstract Data Types. Data Str. Client Prog. Add. Rem. Find. Show. 01/30/03 Lecture 7 1

Abstract Data Types. Data Str. Client Prog. Add. Rem. Find. Show. 01/30/03 Lecture 7 1 Abstract Data Types Add Client Prog Rem Find Data Str. Show 01/30/03 Lecture 7 1 Linear Lists It is an ordered collection of elements. Lists have items, size or length. Elements may have an index. Main

More information

Notes on access restrictions

Notes on access restrictions Notes on access restrictions A source code file MyClass.java is a compilation unit and can contain at most one public class. Furthermore, if there is a public class in that file, it must be called MyClass.

More information

Abstract Data Types. Data Str. Client Prog. Add. Rem. Find. Show. 01/22/04 Lecture 4 1

Abstract Data Types. Data Str. Client Prog. Add. Rem. Find. Show. 01/22/04 Lecture 4 1 Abstract Data Types Add Client Prog Rem Find Data Str. Show 01/22/04 Lecture 4 1 Containers Powerful tool for programming data structures Provides a library of container classes to hold your objects 2

More information

St. Edmund Preparatory High School Brooklyn, NY

St. Edmund Preparatory High School Brooklyn, NY AP Computer Science Mr. A. Pinnavaia Summer Assignment St. Edmund Preparatory High School Name: I know it has been about 7 months since you last thought about programming. It s ok. I wouldn t want to think

More information

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15 Table of Contents 1 INTRODUCTION... 1 2 IF... 1 2.1 BOOLEAN EXPRESSIONS... 3 2.2 BLOCKS... 3 2.3 IF-ELSE... 4 2.4 NESTING... 5 3 SWITCH (SOMETIMES KNOWN AS CASE )... 6 3.1 A BIT ABOUT BREAK... 7 4 CONDITIONAL

More information

M105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014

M105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014 M105: Introduction to Programming with Java Midterm Examination (MTA) Makeup Spring 2013 / 2014 Question One: Choose the correct answer and write it on the external answer booklet. 1. Java is. a. case

More information

Computer Sciences 302 Exam 2 Information & Sample Exam

Computer Sciences 302 Exam 2 Information & Sample Exam Computer Sciences 302 Exam 2 Information & Sample Exam Below you ll find information about the second midterm exam and sample exam questions. This sample is intended to be similar in length and difficulty

More information

CSC 222: Object-Oriented Programming. Fall 2017

CSC 222: Object-Oriented Programming. Fall 2017 CSC 222: Object-Oriented Programming Fall 2017 Object-oriented design example: letter frequencies ArrayLists vs. arrays, autoboxing example: word frequencies w/ parallel lists exception handling, System.out.format

More information

1 class Lecture4 { 2 3 "Loops" / References 8 [1] Ch. 5 in YDL 9 / Zheng-Liang Lu Java Programming 125 / 207

1 class Lecture4 { 2 3 Loops / References 8 [1] Ch. 5 in YDL 9 / Zheng-Liang Lu Java Programming 125 / 207 1 class Lecture4 { 2 3 "Loops" 4 5 } 6 7 / References 8 [1] Ch. 5 in YDL 9 / Zheng-Liang Lu Java Programming 125 / 207 Loops A loop can be used to make a program execute statements repeatedly without having

More information

Chapter 7: Arrays and the ArrayList Class

Chapter 7: Arrays and the ArrayList Class Chapter 7: Arrays and the ArrayList Class Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 7 discusses the following main topics: Introduction

More information

Grouping Objects (I)

Grouping Objects (I) KTH ROYAL INSTITUTE OF TECHNOLOGY Stockholm Sweden Grouping Objects (I) Managing collections of objects Ric Glassey glassey@kth.se Main concepts to be covered Grouping Objects Using ArrayLists Looping

More information

ARRAYS and ARRAYLISTS

ARRAYS and ARRAYLISTS CHAPTER 6 ARRAYS and ARRAYLISTS Copyright 2013 by John Wiley & Sons. All rights reserved. Slides by Donald W. Smith TechNeTrain.com Final Draft 10/30/2011 Chapter Goals q To collect elements using arrays

More information

CS165 Practice Final Exam

CS165 Practice Final Exam CS165 Practice Final Exam I, the undersigned, do hereby affirm that the work contained in this exam is solely my own, and that none of the results were achieved by cheating. This includes using automated

More information

Menu Driven Systems. While loops, menus and the switch statement. Mairead Meagher Dr. Siobhán Drohan. Produced by:

Menu Driven Systems. While loops, menus and the switch statement. Mairead Meagher Dr. Siobhán Drohan. Produced by: Menu Driven Systems While loops, menus and the switch statement Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list while loops recap

More information

Example: Monte Carlo Simulation 1

Example: Monte Carlo Simulation 1 Example: Monte Carlo Simulation 1 Write a program which conducts a Monte Carlo simulation to estimate π. 1 See https://en.wikipedia.org/wiki/monte_carlo_method. Zheng-Liang Lu Java Programming 133 / 149

More information

Dm507 project 1. Emil Sjulstok Rasmussen Hold: M1

Dm507 project 1. Emil Sjulstok Rasmussen Hold: M1 Dm507 project 1 Emil Sjulstok Rasmussen - 050391 Hold: M1 Problem 1 In assignment 1 I have used an ArrayList to store the int s from the text file, while in assignment 2 I have just used an int array.

More information

Loops. CSE 114, Computer Science 1 Stony Brook University

Loops. CSE 114, Computer Science 1 Stony Brook University Loops CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Motivation Suppose that you need to print a string (e.g., "Welcome to Java!") a user-defined times N: N?

More information

Dynamically sized arrays

Dynamically sized arrays Dynamically sized arrays CSCI 135: Fundamentals of Computer Science Keith Vertanen Copyright 2013 The Java Library Overview Many handy classes and methods Importing a package Dynamically sized arrays Java

More information

Collections of Objects. Object Oriented Programming Camilo López

Collections of Objects. Object Oriented Programming Camilo López Collections of Objects Object Oriented Programming 2016375-5 Camilo López Outline What are Collections? Arrays as Simple Collections ArrayList HashMap TreeMap Simultaneous References Revisiting the Student

More information

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M

Università degli Studi di Bologna Facoltà di Ingegneria. Principles, Models, and Applications for Distributed Systems M Università degli Studi di Bologna Facoltà di Ingegneria Principles, Models, and Applications for Distributed Systems M Control Structures Intro. Sequential execution Statements are normally executed one

More information

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal

The ArrayList class CSC 123 Fall 2018 Howard Rosenthal The ArrayList class CSC 123 Fall 2018 Howard Rosenthal Lesson Goals Describe the ArrayList class Discuss important methods of this class Describe how it can be used in modeling Much of the information

More information

Files. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Files. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Files CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Files and Text Files A file is a collection of data, that is saved on a hard drive. A text

More information

CMPS 11 Introduction to Programming Midterm 1 Review Problems

CMPS 11 Introduction to Programming Midterm 1 Review Problems CMPS 11 Introduction to Programming Midterm 1 Review Problems Note: The necessary material for some of these problems may not have been covered by end of class on Monday, the lecture before the exam. If

More information

CSE 2320 Section 002, Fall 2015 Exam 2 Time: 80 mins

CSE 2320 Section 002, Fall 2015 Exam 2 Time: 80 mins CSE 2320 Section 002, Fall 201 Exam 2 Time: 80 mins Name:. Student ID:. Total exam points: 100. Question Points Out of 1 24 2 10 3 10 4 18 6 1 16 Total 100 If you have the smallest doubt about what a question

More information

1 Short Answer (10 Points Each)

1 Short Answer (10 Points Each) Name: Write all of your responses on these exam pages. 1 Short Answer (10 Points Each) 1. What is the difference between a compiler and an interpreter? Also, discuss how Java accomplishes this task. 2.

More information

Array. Array Declaration:

Array. Array Declaration: Array Arrays are continuous memory locations having fixed size. Where we require storing multiple data elements under single name, there we can use arrays. Arrays are homogenous in nature. It means and

More information

COSC 123 Computer Creativity. Java Lists and Arrays. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 123 Computer Creativity. Java Lists and Arrays. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 123 Computer Creativity Java Lists and Arrays Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Objectives 1) Create and use arrays of base types and objects. 2) Create

More information

CSC 1051 Villanova University. CSC 1051 Data Structures and Algorithms I. Course website:

CSC 1051 Villanova University. CSC 1051 Data Structures and Algorithms I. Course website: Repetition CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this

More information

Files. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Files. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Files CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Files and Text Files A file is a collection of data, that is saved on a hard drive. A text

More information

Assignment 8B SOLUTIONS

Assignment 8B SOLUTIONS CSIS 10A Assignment 8B SOLUTIONS Read: Chapter 8 Choose and complete any 10 points from the problems below, which are all included in the download file on the website. Use BlueJ to complete the assignment,

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

Data Structures. Giri Narasimhan Office: ECS 254A Phone: x-3748

Data Structures. Giri Narasimhan Office: ECS 254A Phone: x-3748 Data Structures Giri Narasimhan Office: ECS 254A Phone: x-3748 giri@cs.fiu.edu Search Tree Structures Binary Tree Operations u Tree Traversals u Search O(n) calls to visit() Why? Every recursive has one

More information

More on collec)ons and sor)ng

More on collec)ons and sor)ng More on collec)ons and sor)ng CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2013 Java Collec/ons API Overview List (last term), e.g. ArrayList Map (last /me), e.g. HashMap Set

More information

Exam 2. Programming I (CPCS 202) Instructor: M. G. Abbas Malik. Total Marks: 40 Obtained Marks:

Exam 2. Programming I (CPCS 202) Instructor: M. G. Abbas Malik. Total Marks: 40 Obtained Marks: كلية الحاسبات وتقنية المعلوما Exam 2 Programming I (CPCS 202) Instructor: M. G. Abbas Malik Date: November 22, 2015 Student Name: Student ID: Total Marks: 40 Obtained Marks: Instructions: Do not open this

More information

Installing Java. Tradition. DP Computer Science Unit 4.3: Intro to programming 1/17/2018. Software & websites

Installing Java. Tradition. DP Computer Science Unit 4.3: Intro to programming 1/17/2018. Software & websites DP Computer Science Unit 4.3: Intro to programming Installing Java Software & websites JDK (Java development kit) download: http://www.oracle.com/technetwork/java/javase/ Tradition For a full IDE (integrated

More information

Top-Down Program Development

Top-Down Program Development Top-Down Program Development Top-down development is a way of thinking when you try to solve a programming problem It involves starting with the entire problem, and breaking it down into more manageable

More information

Today: Java Library Classes for lists. Iterators, ListIterators. CS61B Lecture #7. Last modified: Fri Sep 12 14:41: CS61B: Lecture #7 1

Today: Java Library Classes for lists. Iterators, ListIterators. CS61B Lecture #7. Last modified: Fri Sep 12 14:41: CS61B: Lecture #7 1 Today: Java Library Classes for lists. Iterators, ListIterators CS61B Lecture #7 Last modified: Fri Sep 12 14:41:31 2008 CS61B: Lecture #7 1 Abstracting Listness So far, we ve seen fairly primitive types

More information

CSE 143 Lecture 4. Preconditions

CSE 143 Lecture 4. Preconditions CSE 143 Lecture 4 Exceptions and ArrayList slides created by Marty Stepp http://www.cs.washington.edu/143/ Preconditions precondition: Something your method assumes is true at the start of its execution.

More information

Files & Exception Handling. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington

Files & Exception Handling. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington Files & Exception Handling CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Exception Handling (try catch) Suppose that a line of code may make your

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 10 ArrayList reading: 10.1 Welcome to CSE 143! 2 Words exercise Write code to read a file and display its words in reverse order. A solution that uses an array: String[]

More information

CONTENTS: While loops Class (static) variables and constants Top Down Programming For loops Nested Loops

CONTENTS: While loops Class (static) variables and constants Top Down Programming For loops Nested Loops COMP-202 Unit 4: Programming with Iterations Doing the same thing again and again and again and again and again and again and again and again and again... CONTENTS: While loops Class (static) variables

More information

PRIMITIVE VARIABLES. CS302 Introduction to Programming University of Wisconsin Madison Lecture 3. By Matthew Bernstein

PRIMITIVE VARIABLES. CS302 Introduction to Programming University of Wisconsin Madison Lecture 3. By Matthew Bernstein PRIMITIVE VARIABLES CS302 Introduction to Programming University of Wisconsin Madison Lecture 3 By Matthew Bernstein matthewb@cs.wisc.edu Variables A variable is a storage location in your computer Each

More information