CS121/IS223. Collections Revisited. Dr Olly Gotel
|
|
- Annice Wade
- 6 years ago
- Views:
Transcription
1 CS121/IS223 Collections Revisited Dr Olly Gotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors CS121/IS223 Week 11, Slide 1
2 REMINDER There is no class meeting on Thursday April 16 Please work on the labs! You should aim to get lab 1 and the go shopping question in lab 2 finished this week. Read the project description. If you are going to be working in a pair you have to tell me your pairs on Tuesday 21 April CS121/IS223 Week 11, Slide 2
3 Agenda Revisiting arrays what about arrays of objects? The ArrayList class (compare with arrays) - optional Other useful things for you to explore: Iterators Classes versus interfaces (quick hint on saving objects to files serializing) Extras - enumerated types & autoboxing/unboxing CS121/IS223 Week 11, Slide 3
4 A Recap on Arrays Arrays are objects int[] grades = new int[8]; When an array is passed as a parameter to a method, we use an alias of the original (ORV) you will learn all about ORVs next week Arrays can hold primitive types or variables that reference objects (i.e. class types) All elements stored in an array have the same type When we use the new operator to create an array, we give it a type & a size this is fixed CS121/IS223 Week 11, Slide 4
5 Array of Cars for the Car Race? Car[] cars = new Car[size]; cars is the variable for accessing the collection of cars Car[] is the type of the cars variable an array holding Car objects new Car[size] makes an array object that can hold as many Car objects as you state the size to be (it actually holds references to the Car objects) = well, that makes sure that the cars variable is assigned to this array object we just made CS121/IS223 Week 11, Slide 5
6 Arrays of Objects (i) Actually an array of references to objects Dog[] classdogs = new Dog[6]; Dog is the base type of the array classdogs Dog[] type Examine the code in listings (ed 3) or (ed 4+) Dog array object (Dog[]) Heap CS121/IS223 Week 11, Slide 6
7 Important! The array declaration DOES NOT create the array objects you have to create them separately CS121/IS223 Week 11, Slide 7
8 Arrays of Objects (ii) classdogs[0] = new Dog(); classdogs[1] = new Dog(); Actually an array of references to objects Dog object Dog object classdogs Dog[] type Dog array object (Dog[]) Heap CS121/IS223 Week 11, Slide 8
9 A Worked Example MyDogProgram, Mutts and Dog - See the class code on my website CDs - See the class handout UML class diagram and code type this up and play with it Now do the go shopping question in Lab2 it is the same pattern! How about changing the car racing program to have a collection of cars try seeing if you can do that practice with all this CS121/IS223 Week 11, Slide 9
10 Reminder!!! ALL the code in the text book is available for you to download and experiment with. DO NOT FORGET THIS it is useful to do this and to play around with this code! Please look at the code in Chapter 7 on this site - download CD.java, CDCollection.java and Tunes.java - run them, try changing them, try adding a method to delete a CD from the collection and to find a CD in the collection based on a title string (Hint - you do this in the CDCollection class). Could you write a program to define students, a collection of students, and a driver class to add new students to a collection, change their grades, check who has the highest grade, etc.? It is the same basic structure and principle as the CD program! CS121/IS223 Week 11, Slide 10
11 The ArrayList Class Must import java.util.arraylist Similar to arrays, but: Not fixed in size they grow & shrink with the contents (indices adapt) Only stores references to objects (not primitives) Can store references to multiple types of object Can store references to primitives if they are appropriately wrapped (remember Integer?) Can be less efficient than plain old arrays Objects forget their type you have to find this out when they come out use obj.getclass() Actually implemented using arrays CS121/IS223 Week 11, Slide 11
12 Major ArrayList Methods You can view all available methods in the Java API boolean add(object obj) void add(int index, Object obj) void clear() Object remove(int index) Object get(int index) int indexof(object obj) boolean contains(object obj) boolean isempty() int size() Note: The Object class is the root of all classes so each class type is ultimately also of Object type we use Object when we want an object but we don t know what its actual class will be CS121/IS223 Week 11, Slide 12
13 Creating & Using an ArrayList Create an ArrayList object: ArrayList dogs = new ArrayList(); //empty Create objects to put into the ArrayList: Dog mydog = new Dog(); Call its methods: dogs.add(mydog); //grows a slot to hold a dog object reference variable int size = dogs.size(); //returns 1 Dog d = (Dog)dogs.get(0); //remember to cast - I can do this because I know I am only dealing with dogs! dogs.remove(mydog); //shrinks CS121/IS223 Week 11, Slide 13
14 Examples Hooks to CS122 Using an array of objects to do some shopping Using an ArrayList to do some shopping: try the shopping again question in lab2 ArrayList is one of many collections classes in Java (see also Vector, LinkedList, HashSet & others) a collection is actually an object that represents a group of objects find out about the Java Collections Framework -Note I am happy you ignoring ArrayList for now if it is too much as arrays are fine for your project! CS121/IS223 Week 11, Slide 14
15 What are Generics? Was new to Java 5.0 There is a way to avoid the explicit class-casting that you saw with the ArrayList when I had to tell an object it was a Dog -- remember, objects that go into an ArrayList have a memory lapse With <> I can restrict the ArrayList to only hold ONE type of object ArrayList<Dog> dogs = new ArrayList<Dog>(); Java compiler will only allow Dog objects to be added to your collection & will remember what is in the collection when you access CS121/IS223 Week 11, Slide 15
16 Iterating Over a Collection Common to want to examine every item in a collection public void getdogs(){ int index = 0; while(index<dogs.size()){ System.out.println(dogs.get(index)); index++; } } CS121/IS223 Week 11, Slide 16
17 Iterators Another nifty thing like your Scanner! An iterator is an object designed to provide functionality to iterate over a collection luckily it is built-in, just: import java.util.iterator; ArrayList has a method to give you an Iterator object: Iterator it = yourcollectionname.iterator() The Iterator class has 3 methods: hasnext() are there objects left in collection? Returns boolean next() - returns reference to the next object remove() removes last object returned by next() Call these methods on the it object (i.e. it.next()) CS121/IS223 Week 11, Slide 17
18 Iterating Over a Collection 2nd Way Make an object do all the hard work for you this is good OO My dogs collection (my ArrayList of Dogs) public void getdogs(){ Iterator it = dogs.iterator(); while(it.hasnext()){ System.out.println(it.next()); Makes an Iterator object dedicated to iterating /working with your named collection (dogs) } } Try using this in the lab ArrayList question CS121/IS223 Week 11, Slide 18
19 What is Iterator? Iterator is actually an interface that Java Collections classes implement This means that, so long as you provide concrete implementations for the hasnext(), next() & remov e() methods, you can make any class you write implement this interface It is up to you to decide what order objects would be returned by next() ArrayList does this all for you and is ready to go! That makes it nice CS121/IS223 Week 11, Slide 19
20 Interfaces An interface lists the public methods available for interacting with an object by declaring abstract methods A class implements an interface if it provides an implementation for each of the abstract methods A class can implement many interfaces We will look in detail at interfaces later in CS606 they are CRITICAL for good maintainable design Examine the code in listings (3 rd ed.) or (4 th + ed.) CS121/IS223 Week 11, Slide 20
21 Example <<interface>> public interface Living{ public void breathe(); public void eat(); } Defines an interface & its abstract methods public class Dog implements Living{ //Provides actual methods for the above doggy //specific! E.g.: public void breathe(){ System.out.println( You all know what this smells like! ); } } If a class implements an interface it must provide concrete definitions for all its abstract methods CS121/IS223 Week 11, Slide 21
22 Another Example Comparable this is an interface that your objects must implement if they are to be sortable This means that you MUST provide a concrete method body for the compareto method in the class of the objects you want to compare and sort - it is up to you to decided (for example) how to compare and rank two dogs (size, weight, age?) CS121/IS223 Week 11, Slide 22
23 Advanced placeholder for the project work! If you want to store objects to a file you will need this canned code Object Serialization How do you save an object or collection of objects? They have all this state information associated with them! We freeze-dry an object for future reconstitution Enables an object to be stored to a file or transferred elsewhere Object represented as a sequence of bytes We call this, creating a persistent object We make use of: the Serializable interface the writeobject method of ObjectOutputStream class the readobject method of ObjectInputStream class (the latter are processing streams) CS121/IS223 Week 11, Slide 23
24 Say we had a collection of cars to store... If we want to be able to serialize an object, the class of the object and any collection class of the object must implement the Serializable interface This interface has no methods it is just a hint to the compiler about what to expect - to enable it to grab the entire object graph. So add this to your code import java.io.serializable; public class Car implements Serializable{ } Car.java import java.io.serializable; Carpool.java public class Carpool implements Serializable{ } CS121/IS223 Week 11, Slide 24
25 To serialize a car object, we invoke the writeobject method of the ObjectOutputStream - basically, this would take all the state info out of your program and store it to a file at the end of an interactive session - cool! carpool is our collection of cars, salespeople is our collection of sales people we would serialize those classes too! Use this canned code for now. MyDriverClass.java CS121/IS223 Week 11, Slide 25
26 Use Scanner, not Keyboard! MyDriverClass.java File to read objects from To deserialize a car object, we invoke the readobject method of the ObjectInputStream - basically, this would put all the state info back into your program when you start up a session again - cool! CS121/IS223 Week 11, Slide 26
27 What is an Enumerated Type? Was new to Java 5.0 Establishes all possible values of a variable of that type by listing them all enum Semester {fall, spring, summeri, summerii}; Semester currentsemester would declare a variable that is limited in the values it can hold to the 4 given above currentsemester = Semester.fall would initialise the variable to have the value of fall CS121/IS223 Week 11, Slide 27
28 Example (from the text) public class IceCream{ enum Flavor {vanilla, chocolate, strawberry, fudgeripple, coffee, rockyroad, mintchocolatechip, cookiedough} public static void main (String[] args) { Flavor cone1, cone2, cone3; cone1 = Flavor.rockyRoad; cone2 = Flavor.chocolate; System.out.println ("cone1 value: " + cone1); System.out.println ("cone1 ordinal: " + cone1.ordinal()); System.out.println ("cone1 name: " + cone1.name()); System.out.println (); System.out.println ("cone2 value: " + cone2); System.out.println ("cone2 ordinal: " + cone2.ordinal()); System.out.println ("cone2 name: " + cone2.name()); cone3 = cone1; System.out.println (); System.out.println ("cone3 value: " + cone3); System.out.println ("cone3 ordinal: " + cone3.ordinal()); System.out.println ("cone3 name: " + cone3.name()); } CS121/IS223 } Week 11, Slide 28
29 Autoboxing & Unboxing Was new to Java 5.0 Autoboxing automatically converts a primitive value to corresponding wrapper object Integer obj1; int num1=42; obj1=num1; Unboxing automatically extracts the primitive type Integer obj2=new Integer(42); int num2; num2=obj2; Err why do this? Well, remember that primitives and class types and handled differently sometime we want to treat them similarly (say to store them in an ArrayList) CS121/IS223 Week 11, Slide 29
30 NumberFormat EG - useful? (from the text) import java.util.scanner; import java.text.numberformat; public class Purchase{ public static void main (String[] args) { final double TAX_RATE = 0.06; // 6% sales tax int quantity; double subtotal, tax, totalcost, unitprice; Scanner scan = new Scanner (System.in); NumberFormat fmt1 = NumberFormat.getCurrencyInstance(); NumberFormat fmt2 = NumberFormat.getPercentInstance(); System.out.print ("Enter the quantity: "); quantity = scan.nextint(); System.out.print ("Enter the unit price: "); unitprice = scan.nextdouble(); subtotal = quantity * unitprice; tax = subtotal * TAX_RATE; totalcost = subtotal + tax; // Print output with appropriate formatting System.out.println ("Subtotal: " + fmt1.format(subtotal)); System.out.println ("Tax: " + fmt1.format(tax) + " at " + fmt2.format(tax_rate)); System.out.println ("Total: " + fmt1.format(totalcost)); CS121/IS223 } Week 11, Slide 30 }
31 Key Points When you create an array of objects, you need to create the array & then all the objects that are to be stored in it - put methods that work on the collection in this collection class, not in the base object class The ArrayList offers an alternative collection class if you need to store different types of object in the same place or if you have collections of variable size it is great and an Iterator object is a neat way to pass through its elements An interface is a set of methods an object makes available to other objects check out Iterator Explore the Java Collections API CS121/IS223 Week 11, Slide 31
32 To Do Finish Chapter 6 (ed 3) or Chapter 7 (ed 4+) not GUIs Work on the lab questions (make sure you do the go shopping question in lab2). Also work with the CD program handed out in class If you want extra practice please try programming projects 6.7, 6.9, 6.10 & 6.11 (ed 3) or 7.6, 7.7, 7.10 & 7.11 (ed 4+) I have also posted all the text lab manuals on my website and reminded you to download code from the textbook. Remember to use me & the tutors don t get stuck! Go through the lecture slides again & ask me if you have any questions Work on your project start designing CS121/IS223 Week 11, Slide 32
33 Coming Up Next NO CLASS ON THURSDAY 16 APRIL WORK ON THE LABS *** NEXT? Learning about how objects are really handled object reference variables Fully fledged OO design and programming example to help bring things so far together, assist you with your project & prepare you for the final exam There may be a project clinic and exam practice session set up for the nervous/anxious :-) -- so let me know if you would like this CS121/IS223 Week 11, Slide 33
REMINDER CS121/IS223. Agenda. A Recap on Arrays. Array of Cars for the Car Race? Arrays of Objects (i)
Collections Revisited Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors REMINDER There is no class
More informationCSCI 2010 Principles of Computer Science. Basic Java Programming. 08/09/2013 CSCI Basic Java 1
CSCI 2010 Principles of Computer Science Basic Java Programming 1 Today s Topics Using Classes and Objects object creation and object references the String class and its methods the Java standard class
More informationCS121/IS223. Object Reference Variables. Dr Olly Gotel
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors CS121/IS223
More informationAgenda CS121/IS223. Reminder. Object Declaration, Creation, Assignment. What is Going On? Variables in Java
CS121/IS223 Object Reference Variables Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use the CSIS programming tutors Agenda
More informationJava Flow of Control
Java Flow of Control SEEM 3460 1 Flow of Control Unless specified otherwise, the order of statement execution through a method is linear: one statement after another in sequence Some programming statements
More informationChapter 3 Using Classes and Objects
Chapter 3 Using Classes and Objects Java Software Solutions Foundations of Program Design Seventh Edition John Lewis William Loftus Using Classes and Objects We can create more interesting programs using
More informationUsing Classes and Objects. Chapter
Using Classes and Objects 3 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Using Classes and Objects To create
More informationChapter 3 Using Classes and Objects
Chapter 3 Using Classes and Objects Java Software Solutions Foundations of Program Design Seventh Edition John Lewis William Loftus Using Classes and Objects We can create more interesting programs using
More information11-1. Collections. CSE 143 Java. Java 2 Collection Interfaces. Goals for Next Several Lectures
Collections CSE 143 Java Collections Most programs need to store and access collections of data Collections are worth studying because... They are widely useful in programming They provide examples of
More informationThis Week s Agenda (Part A) CS121: Computer Programming I. The Games People Play. Data Types & Structures. The Array in Java.
CS121: Computer Programming I A) Collections B) File I/O & Error Handling Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours -- Use
More informationFor each of the following variables named x, specify whether they are static, stack-dynamic, or heapdynamic:
For each of the following variables named x, specify whether they are static, stack-dynamic, or heapdynamic: a) in C++: int* x = new(int); b) in Java: class book { protected string title; book(string x)
More informationCSE 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 informationFormatting Output & Enumerated Types & Wrapper Classes
Formatting Output & Enumerated Types & Wrapper Classes Quick review of last lecture September 8, 2006 ComS 207: Programming I (in Java) Iowa State University, FALL 2006 Instructor: Alexander Stoytchev
More informationLecture 9: Lists. MIT-AITI Kenya 2005
Lecture 9: Lists MIT-AITI Kenya 2005 1 In this lecture we will learn. ArrayList These are re-sizeable arrays LinkedList brief overview Differences between Arrays and ArrayLists Casting Iterator method
More informationName: Checked: Access the Java API at the link above. Why is it abbreviated to Java SE (what does the SE stand for)?
Lab 6 Name: Checked: Objectives: Learn about the Java API Test code snippets interactively to explore data representation and casts Practice using Math, Random, String, and other classes from the Java
More informationBCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER COURSE WEBSITE
COURSE WEBSITE http://www.steveguynes.com/bcis3630/bcis3630/default.html Instructor: Dr. Guynes Office: BLB 312H Phone: (940) 565-3110 Office Hours: By Email Email: steve.guynes@unt.edu TEXTBOOK: Starting
More informationInterfaces, collections and comparisons
תכנות מונחה עצמים תרגול מספר 4 Interfaces, collections and comparisons Interfaces Overview Overview O Interface defines behavior. Overview O Interface defines behavior. O The interface includes: O Name
More informationCOMP200 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 informationCS1004: Intro to CS in Java, Spring 2005
CS1004: Intro to CS in Java, Spring 2005 Lecture #23: OO Design, cont d. Janak J Parekh janak@cs.columbia.edu Administrivia HW#5 due Tuesday And if you re cheating on (or letting others see your) HW#5
More informationCOMP 202. Programming With Arrays
COMP 202 Programming With Arrays CONTENTS: Arrays, 2D Arrays, Multidimensional Arrays The Array List Variable Length parameter lists The Foreach Statement Thinking Like A Programmer: Designing for arrays
More information7.3 Arrays of Strings (Objects) 7.3 Arrays of Strings (Objects) 7.3 Tunes.java. 7.3 Arrays of Objects 9/11/13. ! A UML diagram for the Tunes program
7.3 Arrays of Strings (Objects)! The elements of an array can be object references! The following declara6on reserves space to store 5 references to String objects String[] words = new String[5];! Ini6ally
More informationCSC 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 informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 14 Array Wrap-Up Outline Problem: How can I store information in arrays without complicated array management? The Java language supports ArrayLists
More informationCS121: Computer Programming I
CS121: Computer Programming I A) Practice with Java Control Structures B) Methods Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours
More informationThis Week s Agenda (Part A) CS121: Computer Programming I. Changing Between Loops. Things to do in-between Classes. Answer. Combining Statements
CS121: Computer Programming I A) Practice with Java Control Structures B) Methods Dr Olly Gotel ogotel@pace.edu http://csis.pace.edu/~ogotel Having problems? -- Come see me or call me in my office hours
More informationList ADT. Announcements. The List interface. Implementing the List ADT
Announcements Tutoring schedule revised Today s topic: ArrayList implementation Reading: Section 7.2 Break around 11:45am List ADT A list is defined as a finite ordered sequence of data items known as
More informationAlgorithms and Conditionals
Algorithms and Conditionals 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/
More informationJava Collections Framework: Interfaces
Java Collections Framework: Interfaces Introduction to the Java Collections Framework (JCF) The Comparator Interface Revisited The Collection Interface The List Interface The Iterator Interface The ListIterator
More informationBig O & ArrayList Fall 2018 Margaret Reid-Miller
Big O & ArrayList 15-121 Fall 2018 Margaret Reid-Miller Today Exam 1: Thursday, Oct 4, 2018 Exam 2 date: Currently Thur. Oct 25 th Move to Tues Oct 30 or Thur Nov 1? (Withdraw deadline Tues Nov 6.) Homework
More informationSTUDENT LESSON A15 ArrayList
STUDENT LESSON A15 ArrayList Java Curriculum for AP Computer Science, Student Lesson A15 1 STUDENT LESSON A15 - ArrayList INTRODUCTION: It is very common for a program to manipulate data that is kept in
More informationArrays. Outline 1/7/2011. Arrays. Arrays are objects that help us organize large amounts of information. Chapter 7 focuses on:
Arrays Arrays Arrays are objects that help us organize large amounts of information Chapter 7 focuses on: array declaration and use bounds checking and capacity arrays that store object references variable
More informationABSTRACT DATA TYPES: COLLECTIONS, LISTS, SETS, MAP, QUEUES. Thursday, June 30, 2011
1 ABSTRACT DATA TYPES: COLLECTIONS, LISTS, SETS, MAP, QUEUES Lecture 4 CS 2110 Summer 2011 Lists are Iterable 4 for public static void printlist(list strings) { for (int idx = 0; idx < strings.size();
More informationName: Checked: Access the Java API at the link above. Why is it abbreviated to Java SE (what does the SE stand for)?
Lab 5 Name: Checked: Objectives: Learn about the Java API Practice using Math, Random, String, and other classes from the Java API Practice writing code to do basic String processing Preparation: Complete
More informationGeneric classes & the Java Collections Framework. *Really* Reusable Code
Generic classes & the Java Collections Framework *Really* Reusable Code First, a bit of history Since Java version 5.0, Java has borrowed a page from C++ and offers a template mechanism, allowing programmers
More informationFiles and Streams
Files and Streams 4-18-2006 1 Opening Discussion Do you have any questions about the quiz? What did we talk about last class? Do you have any questions about the assignment? What are files and why are
More informationImplementing a List in Java. CSE 143 Java. Just an Illusion? List Interface (review) Using an Array to Implement a List.
Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete
More informationMenu 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 informationConstants. Why Use Constants? main Method Arguments. CS256 Computer Science I Kevin Sahr, PhD. Lecture 25: Miscellaneous
CS256 Computer Science I Kevin Sahr, PhD Lecture 25: Miscellaneous 1 main Method Arguments recall the method header of the main method note the argument list public static void main (String [] args) we
More informationCS2110: Software Development Methods. Maps and Sets in Java
CS2110: Software Development Methods Maps and Sets in Java These slides are to help with the lab, Finding Your Way with Maps Today s lab uses Maps (and Sets but just a little). Readings from textbook:
More informationEXAMINATIONS 2016 TRIMESTER 2
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2016 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
More informationWeek 4, Wednesday (Spring 2015). Dr. Yoder. Sec 051. Page 1 of 5
CS2852 Exam 1 Name: No note-sheets, calculators, or other study aids on this exam. Write your initials at the top of each page except this one. Read through the whole exam before you get started. Have
More informationImplementing a List in Java. CSE 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List.
Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 22 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete
More informationCS 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 informationLinkedList Implementation Mini-project intro
LinkedList Implementation Mini-project intro Turn in your written problems Mini-project Partner Survey: Do it by 4:00 today Reminder: Exam #2 is this Thursday In order to reduce time pressure, you optionally
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Up to here Not included in program Java collections framework prebuilt data structures interfaces and methods for manipulating
More informationPractice Midterm 1 Answer Key
CS 120 Software Design I Fall 2018 Practice Midterm 1 Answer Key University of Wisconsin - La Crosse Due Date: October 5 NAME: Do not turn the page until instructed to do so. This booklet contains 10 pages
More informationEXAMINATIONS 2017 TRIMESTER 2
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2017 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
More informationLesson 2.4 Arraylist
Lesson 24 Arraylist Mimi Duong Rosalba Rodriguez Java Crash Course January 6th, 2015 Data Structure ArrayLists Live Coding Methods Searching Through ArrayLists Classwork Storing Items in Java How have
More informationCS2110: Software Development Methods. Maps and Sets in Java
CS2110: Software Development Methods Maps and Sets in Java These slides are to help with the lab, Finding Your Way with Maps This lab uses Maps, and Sets too (but just a little). Readings from textbook:
More informationSystem.out.print("Enter sales for salesperson " + i + ": "); sales[i] = scan.nextint();
Tracking Sales File Sales.java contains a Java program that prompts for and reads in the sales for each of 5 salespeople in a company. It then prints out the id and amount of sales for each salesperson
More informationTutorials. Tutorial every Friday at 11:30 AM in Toldo 204 * discuss the next lab assignment
60-212 subir@cs.uwindsor.ca Phone # 253-3000 Ext. 2999 web site for course www.cs.uwindsor.ca/60-212 Dr. Subir Bandyopadhayay Website has detailed rules and regulations All assignments and labs will be
More informationTaking Stock. IE170: Algorithms in Systems Engineering: Lecture 7. (A subset of) the Collections Interface. The Java Collections Interfaces
Taking Stock IE170: Algorithms in Systems Engineering: Lecture 7 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University January 29, 2007 Last Time Practice Some Sorting Algs
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationWhat is the Java Collections Framework?
1 of 13 What is the Java Collections Framework? To begin with, what is a collection?. I have a collection of comic books. In that collection, I have Tarzan comics, Phantom comics, Superman comics and several
More informationClaremont McKenna College Computer Science
Claremont McKenna College Computer Science CS 51 Handout 4: Problem Set 4 February 10, 2011 This problem set is due 11:50pm on Wednesday, February 16. As usual, you may hand in yours until I make my solutions
More informationExample: Copying the contents of a file
Administrivia Assignment #4 is due imminently Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in the front office for a demo time Dining Philosophers code is online www.cs.ubc.ca/~norm/211/2009w2/index.html
More informationMidterm Exam 2 CS 455, Spring 2011
Name: USC loginid (e.g., ttrojan): Midterm Exam 2 CS 455, Spring 2011 March 31, 2011 There are 6 problems on the exam, with 50 points total available. There are 7 pages to the exam, including this one;
More informationThe 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 informationCSE 143. Computer Programming II
Adam Blank Lecture 15 Spring 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II More Interfaces & Iterators Today s Goals 1 We begin with ArrayIntList & LinkedIntList. Our goals are:
More informationCS11 Java. Fall Lecture 1
CS11 Java Fall 2006-2007 Lecture 1 Welcome! 8 Lectures Slides posted on CS11 website http://www.cs.caltech.edu/courses/cs11 7-8 Lab Assignments Made available on Mondays Due one week later Monday, 12 noon
More information+ Abstract Data Types
Linked Lists Abstract Data Types An Abstract Data Type (ADT) is: a set of values a set of operations Sounds familiar, right? I gave a similar definition for a data structure. Abstract Data Types Abstract
More informationLast Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings
University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Writing a Simple Java Program Intro to Variables Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch
More informationAdministration. Objects and Arrays. Objects. Agenda. What is an Object? What is a Class?
Administration Objects and Arrays CS 99 Summer 2000 Michael Clarkson Lecture 6 Read clarified grading policies Lab 6 due tomorrow Submit.java files in a folder named Lab6 Lab 7 Posted today Upson Lab closed
More informationChapter 3. Selections
Chapter 3 Selections 1 Outline 1. Flow of Control 2. Conditional Statements 3. The if Statement 4. The if-else Statement 5. The Conditional operator 6. The Switch Statement 7. Useful Hints 2 1. Flow of
More informationCS 170, Section /3/2009 CS170, Section 000, Fall
Lecture 18: Objects CS 170, Section 000 3 November 2009 11/3/2009 CS170, Section 000, Fall 2009 1 Lecture Plan Homework 5 : questions, comments? Managing g g Data: objects to make your life easier ArrayList:
More information5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading.
Last Time Reviewed method overloading. A few useful Java classes: Other handy System class methods Wrapper classes String class StringTokenizer class Assn 3 posted. Announcements Final on June 14 or 15?
More informationJava Language Features
Java Language Features References: Object-Oriented Development Using Java, Xiaoping Jia Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer Beginning Java Objects - From
More informationEXAMINATIONS 2015 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
T E W H A R E W Ā N A N G A O T E Student ID:....................... Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2015 TRIMESTER 2 COMP103 INTRODUCTION
More informationCSCI 355 LAB #2 Spring 2004
CSCI 355 LAB #2 Spring 2004 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications
More informationTwo Types of Types. Primitive Types in Java. Using Primitive Variables. Class #07: Java Primitives. Integer types.
Class #07: Java Primitives Software Design I (CS 120): M. Allen, 13 Sep. 2018 Two Types of Types So far, we have mainly been dealing with objects, like DrawingGizmo, Window, Triangle, that are: 1. Specified
More informationLecture 6. Assignments. Java Scanner. User Input 1/29/18. Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4
Assignments Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4 Lecture 6 Complete for Lab 4, Project 1 Note: Slides 12 19 are summary slides for Chapter 2. They overview much of what we covered but are not complete.
More informationCS 151. Exceptions & Javadoc. slides available on course website. Sunday, September 9, 12
CS 151 Exceptions & Javadoc slides available on course website 1 Announcements Prelab 1 is due now. Please place it in the appropriate (Mon vs. Tues) box. Please attend lab this week. There may be a lecture
More informationChapter 7. Arrays are objects that help us organize large amounts of information
Arrays 5 TH EDITION Chapter 7 Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Arrays Arrays are objects that help us organize large
More informationUse of the ArrayList class
Use of the ArrayList class The ArrayList class is very similar to the Vector class. It also manages a collection of objects, and as the name indicates, does so with an array implementation. This is also
More informationCSCI 355 Lab #2 Spring 2007
CSCI 355 Lab #2 Spring 2007 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications
More informationCS 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 informationCSSE 220 Day 8. Arrays, ArrayLists, Wrapper Classes, Auto-boxing, Enhanced for loop. Check out ArraysAndLists from SVN
CSSE 220 Day 8 Arrays, ArrayLists, Wrapper Classes, Auto-boxing, Enhanced for loop Check out ArraysAndLists from SVN Questions? Exam 1 is October 1, 7-9 PM! Over chapters 1-7 You'll have a chance to ask
More informationOutline. runtime of programs algorithm efficiency Big-O notation List interface Array lists
Outline runtime of programs algorithm efficiency Big-O notation List interface Array lists Runtime of Programs compare the following two program fragments: int result = 1; int result = 1; for (int i=2;
More information104. Intermediate Java Programming
104. Intermediate Java Programming Version 6.0 This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for students with previous Java experience
More informationObjects and Iterators
Objects and Iterators Can We Have Data Structures With Generic Types? What s in a Bag? All our implementations of collections so far allowed for one data type for the entire collection To accommodate a
More informationLecture 6: ArrayList Implementation
Lecture 6: ArrayList Implementation CS 62 Fall 2018 Alexandra Papoutsaki & William Devanny 1 Programming Assignment Weak AI/Natural Language Processing: Generate text by building frequency lists based
More informationCS 200 Using Objects. Jim Williams, PhD
CS 200 Using Objects Jim Williams, PhD This Week Notes By Friday Exam Conflict and Accommodations Install Eclipse (version 8) Help Queue Team Lab 2 Chap 2 Programs (P2): Due Thursday Hours Spent Week?
More informationobjectives chapter Define the difference between primitive data and objects. Declare and use variables. Perform mathematical computations.
2 chapter objectives Define the difference between primitive data and objects. Declare and use variables. Perform mathematical computations. Create objects and use them. Explore the difference between
More informationOverview of Java ArrayList, HashTable, HashMap, Hashet,LinkedList
Overview of Java ArrayList, HashTable, HashMap, Hashet,LinkedList This article discusses the main classes of Java Collection API. The following figure demonstrates the Java Collection framework. Figure
More informationCS111: PROGRAMMING LANGUAGE II
1 CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1: Introduction Lecture Contents 2 Course info Why programming?? Why Java?? Write once, run anywhere!! Java basics Input/output Variables
More informationArray 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 informationLesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014
Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class
More informationMidterms Save the Dates!
University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Primitive Data Types Arithmetic Operators Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch 4.1-4.2.
More informationCSC 1051 Algorithms and Data Structures I. Final Examination December 17, Name:
CSC 1051 Algorithms and Data Structures I Final Examination December 17, 2013 Name: Question Value 1 10 Score 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 20 TOTAL 100 Please answer questions in the spaces provided.
More informationSection 2.2 Your First Program in Java: Printing a Line of Text
Chapter 2 Introduction to Java Applications Section 2.2 Your First Program in Java: Printing a Line of Text 2.2 Q1: End-of-line comments that should be ignored by the compiler are denoted using a. Two
More informationH212 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 informationJava Programming Lecture 9
Java Programming Lecture 9 Alice E. Fischer February 16, 2012 Alice E. Fischer () Java Programming - L9... 1/14 February 16, 2012 1 / 14 Outline 1 Object Files Using an Object File Alice E. Fischer ()
More informationEXAMINATIONS 2011 Trimester 2, MID-TERM TEST. COMP103 Introduction to Data Structures and Algorithms SOLUTIONS
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON Student ID:....................... EXAMINATIONS 2011 Trimester 2, MID-TERM TEST COMP103 Introduction
More information} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.
Class #10: Understanding Primitives and Assignments Software Design I (CS 120): M. Allen, 19 Sep. 18 Java Arithmetic } Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = 2 + 5 / 2; 3.
More informationCOE 211 Computer Programming. Welcome to Exam I Tuesday March 13, 2018
1 COE 211 Computer Programming Welcome to Exam I Tuesday March 13, 2018 Instructors: Dr. Dima El-khalil Dr. Wissam F. Fawaz Name: Student ID: Instructions: 1. This exam is Closed Book. Please do not forget
More informationUniversità 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 tutor Isam M. Al Jawarneh, PhD student isam.aljawarneh3@unibo.it Mobile Middleware
More informationCS 180 Final Exam Review 12/(11, 12)/08
CS 180 Final Exam Review 12/(11, 12)/08 Announcements Final Exam Thursday, 18 th December, 10:20 am 12:20 pm in PHYS 112 Format 30 multiple choice questions 5 programming questions More stress on topics
More informationCSC 1051 Algorithms and Data Structures I. Midterm Examination February 26, Name: Key
CSC 1051 Algorithms and Data Structures I Midterm Examination February 26, 2015 Name: Key Question Value 1 10 Score 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 10 10 10 TOTAL 100 Please answer questions in the
More informationError Handling. public int divide(double a, double b) { if (b==0) return -1; // error double result = a/b; return 0; // success }
Exceptions Error Handling You do a lot on this in your practicals, so we'll just touch on it here The traditional way of handling errors is to return a value that indicates success/failure/error public
More information