Iterator and For-Each Loops COMP110 - Lecture 18
|
|
- Brice Craig
- 5 years ago
- Views:
Transcription
1 Iterator and For-Each Loops COMP110 - Lecture 18
2 Announcements PS3 - Paternity Test is out! Game of Thrones: Spoilers vs. No Spoilers Due Sunday at 11:59pm 400 Points - Get started early! Whiteboard Hours
3 Announcements Women of COMP110 Taking 401 in the Spring? Considering taking 401? Women on the COMP110 Team are hosting a casual meet & greet / info session on what comes after 110! Tomorrow, Wednesday the 2nd, at 7:30 in SN14
4 Abstract Data Types An ADT describes an organization of data. It specifies characteristics and capabilities from the user s perspective. An ADT does not specify an implementation of its characteristics and capabilities. In Java, when we want to declare capabilities (methods) without defining them, what do we use? Interfaces! Java s Standard Library ADT s are specified as interfaces. Java s Standard Library also provides many classes implementing each individual ADT interface.
5 Commonly Used Collection ADTs Lists Set Map 0 1 Kim Kardashian Dodge Stratus UNC Roy Dean Dome Keys Jeffrey Meggie Ahmed 2 3 Sky UNC Basketball Helen Zihe Values
6 ADT Interfaces vs. ADT Implementations We will always type our variables, parameters, and return values using an ADT interface. When you construct a new ADT object, you will use an implementing class. Interface Implementation Construction List<E> ArrayList<E> List<String> alist = new ArrayList<String>(); Set<E> HashSet<E> Set<String> aset = new HashSet<String>(); Map<K,V> HashMap<K,V> Map<String,String> amap = new HashMap<String,String>();
7 How do we process each item in a Set? A Set has no guaranteed order However, we still need to be able to work through each item 1-by-1 UNC Dean Dome Roy Basketball We need to learn a new, useful concept called iterators.
8 To use: import java.util.iterator; Iterator<T> Iterator<T> is an interface Its purpose is to simplify iterating over a collection. Read: work through a collection item-by-item. You can do three things with an Iterator: 1. Ask it do you have another item? 2. Ask it give me the next item. 3. Optionally tell it remove the last item you gave me.
9 To use: import java.util.iterator; Iterator<T> 1. Ask it do you have another item? boolean hasnext() 2. Ask it give me the next item. T next() 3. Optionally tell it to remove the last item you gave me. void remove()
10 Example usage: Hey set, give me an iterator! Iterator<String> items = set.iterator(); while (items.hasnext()) { String item = items.next(); Hey iterator, do you have another item? System.out.println(item); Hey iterator, ok, I ll take the next item.
11 Follow-Along: Iterate Through a Set public static void iteratethroughaset() { System.out.println("*** iteratethroughaset ***"); Set<String> aset = new HashSet<String>(); aset.add("unc"); aset.add("dean Dome"); aset.add("basketball"); aset.add("roy"); System.out.println("The Set: " + aset); Iterator<String> items = aset.iterator(); while (items.hasnext()) { String item = items.next(); System.out.println(item);
12 Are Lists and Maps iterable like Sets? 1. Yes! Every Collection in Java can give you an Iterator 2. How? 1. List and Map implement the Iterable interface. Each collection in Java (Set, List, Map, etc) implements the Iterable interface. The Iterable interface guarantees the following method: Iterator<T> iterator(); 3. In 401, you ll learn how to write your own Iterables.
13 Hands-On: Iterate through a List 1. Uncomment the static method call to the iteratethroughalist method. 2. After the TODO comment, declare a variable of type Iterator<String> named items. 3. Initialize items to be the return value of calling alist s iterator method. 4. Using a while loop and the items iterator, print each item. 5. Check in on PollEv.com/comp110
14 public static void iteratethroughalist() { System.out.println("*** iteratethroughaset ***"); List<String> alist = new ArrayList<String>(); alist.add("unc"); alist.add("basketball"); alist.add("basketball"); alist.add("basketball"); alist.add("dean Dome"); alist.add("roy"); System.out.println("The List: " + alist); Iterator<String> items = alist.iterator(); while (items.hasnext()) { System.out.println(items.next());
15 How do we iterate through a Map? Keys There are a few ways, actually! In COMP110, we ll focus on iterating through a Map s keys and using the key to get values. Jeffrey Meggie Ahmed Helen Zihe Values Why? Because a Map s keys are a Set and we know how to iterate through a Set!
16 Follow-Along: Iterate Through a Map public static void iteratethroughamap() { System.out.println("*** iteratethroughamap ***"); Map<String, String> amap = new HashMap<String, String>(); amap.put("kris", "Kris Jordan"); amap.put("meggie", "Meggie Cruser"); System.out.println("The Map: " + amap); // TODO: Iterate through amap using an iterator Iterator<String> keys = amap.keyset().iterator(); while (keys.hasnext()) { String key = keys.next(); System.out.println(aMap.get(key));
17 Introducing: The For-Each Loop Using Iterators to work through collections is common. So common, Java provides a really nice, special loop for doing so more succinctly: for ( T item : Iterable<T> ) { // for-each body Concrete example: List<String> names = new ArrayList<String>(); // Elided: names are added to the list. for ( String name : names ) { // for-each body
18 How to Read a For-Each Loop Set<String> names = new HashSet<String>(); names.add( John ); names.add( Jane ); for ( String name : names ) { System.out.println(name); For each item in the names collection, do what is inside of this loop. Declaring the for-each item variable named name. Within the loop, name is assigned the next item in the collection.
19 These Loops are Equivalent Set<String> names = new HashSet<String>(); names.add( John ); names.add( Jane ); for ( String name : names ) { System.out.println(name); Iterator<String> iter = names.iterator(); while (iter.hasnext()) { String name = iter.next(); System.out.println(name); Under the hood, Java is actually translating this for-each loop into this Iterator based loop.
20 Follow-Along: For-Each Through a Set public static void iteratethroughaset() { System.out.println("*** iteratethroughaset ***"); Set<String> aset = new HashSet<String>(); aset.add("unc"); aset.add("dean Dome"); aset.add("basketball"); aset.add("roy"); System.out.println("The Set: " + aset); for (String word : aset) { System.out.println(word);
21 Hands-On: Iterate through a List using For-Each 1. Uncomment the static method call to the iteratethroughalist method. 2. After the TODO comment, write a for-each loop that prints out each item in alist. The general form: for ( T item : Iterable<T> ) { // for-each body 3. Check in on PollEv.com/ comp110
22 public static void iteratethroughalist() { System.out.println("*** iteratethroughaset ***"); List<String> alist = new ArrayList<String>(); alist.add("unc"); alist.add("basketball"); alist.add("basketball"); alist.add("basketball"); alist.add("dean Dome"); alist.add("roy"); System.out.println("The List: " + alist); for (String word : alist) { System.out.println(word);
23 Follow-Along: For-Each Through a Map public static void iteratethroughamap() { System.out.println("*** iteratethroughamap ***"); Map<String, String> amap = new HashMap<String, String>(); amap.put("kris", "Kris Jordan"); amap.put("meggie", "Meggie Cruser"); amap.put("karen", "Karen Cheng"); amap.put("jeffrey", "Jeffrey Young"); System.out.println("The Map: " + amap); for (String key : amap.keyset()) { System.out.println(aMap.get(key));
24 For-Each over Arrays For Each loops work with collections that implement the Iterable interface. Great news: for-each also works with native arrays. Let s try it
25 public static void iteratethroughanarray() { int[] numbers = new int[] { 1, 2, 3, 4 ; // TODO: Iterate through numbers using a for-each loop for (int number : numbers) { System.out.println(number);
26 Loops while Loops Most general form of a loop. Needed when you are uncertain of exactly how many times you will loop. for Loops Most useful for looping some specific # of times. Conventionally uses a counting variable. for-each Loops Useful when working item-by-item through a collection or array. Limitation: sometimes you need the index to do important things. Challenge: Try writing ArrayUtil s interleave method using for-each loops.
27 Follow-Along: Reading a Text File
28 Set Operations
29 Set: Union A B Notation: A B All of the elements in either A or B. Emphasis on the OR. You can use Set s addall method to perform a union: a.addall(b); // Set a will now have all of Set a and Set b s elements
30 Set: Intersection A B Notation: A B Only the elements in both A and B. Emphasis on the AND. You can use Set s retainall method to perform an intersection: a.retainall(b); // Set a will now have the intersection of a and b
31 Set: Difference or Complement A B Notation: A \ B All of the elements in A that do not exist in B. You can use Set s retainall method to perform complement: a.removeall(b);
Abstract Data Types (ADTs) Example ADTs. Using an Abstract Data Type. Class #08: Linear Data Structures
Abstract Data Types (ADTs) Class #08: Linear Data Structures Software Design III (CS 340): M. Allen, 08 Feb. 16 An ADT defines a kind of computational entity: A set of objects, with possible values A set
More informationAbstract data types (again) Announcements. Example ADT an integer bag (next) The Java Collections Framework
Announcements Abstract data types (again) PS 5 ready Tutoring schedule updated with more hours Today s topic: The Java Collections Framework Reading: Section 7.5 An ADT is a model of a collection of data
More informationCMSC 202H. Containers and Iterators
CMSC 202H Containers and Iterators Container Definition A container is a data structure whose purpose is to hold objects. Most languages support several ways to hold objects Arrays are compiler-supported
More informationTopic 10: The Java Collections Framework (and Iterators)
Topic 10: The Java Collections Framework (and Iterators) A set of interfaces and classes to help manage collections of data. Why study the Collections Framework? very useful in many different kinds of
More informationAlgorithms. Produced by. Eamonn de Leastar
Algorithms Produced by Eamonn de Leastar (edeleastar@wit.ie) Collections ± Collections Architecture ± Definition ± Architecture ± Interfaces ± Collection ± List ± Set ± Map ± Iterator ± Implementations
More informationInterfaces. An interface defines a set of methods. An interface declaration contains signatures, but no implementations.
Interface Interface definition Interface implementation by classes Benefits of interfaces Implementation of multiple interface Java Collection Framework Interfaces An interface defines a set of methods.
More information//instance variables //methods. Foo x = new Foo(); Interface: also a type of objects public interface Bar {
BASIC CONCEPTS Class: a type of objects public class Foo { //instance variables //methods Foo x = new Foo(); Interface: also a type of objects public interface Bar { //method headers without implementation
More informationWhat is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one
Iterators What is an Iterator? An iterator is an abstract data type that allows us to iterate through the elements of a collection one by one 9-2 2-2 What is an Iterator? An iterator is an abstract data
More informationCOMP 250. Lecture 29. interfaces. Nov. 18, 2016
COMP 250 Lecture 29 interfaces Nov. 18, 2016 1 ADT (abstract data type) ADT s specify a set of operations, and allow us to ignore implementation details. Examples: list stack queue binary search tree priority
More informationGarbage Collection (1)
Coming up: Today: Finish unit 6 (garbage collection) start ArrayList and other library objects Wednesday: Complete ArrayList, basics of error handling Friday complete error handling Next week: Recursion
More informationCSE 143 Lecture 26. Advanced collection classes. (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, ,
CSE 143 Lecture 26 Advanced collection classes (ADTs; abstract classes; inner classes; generics; iterators) read 11.1, 9.6, 15.3-15.4, 16.4-16.5 slides created by Marty Stepp, adapted by Alyssa Harding
More informationCOMP-202. Generics. COMP Generics, 2013 Jörg Kienzle and others
COMP-202 Generics Objects and Casting Generics Instantiation Usage ArrayList Iterators Iterator Lecture Outline 2 Objects and Casting All instances of all classes in Java are also of the class Object
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 informationSoftware 1 with Java. Recitation No. 6 (Collections)
Software 1 with Java Recitation No. 6 (Collections) Java Collections Framework Collection: a group of elements Interface Based Design: Java Collections Framework Interfaces Implementations Algorithms 2
More informationCSE 143 Lecture 14. Interfaces; Abstract Data Types (ADTs) reading: 9.5, 11.1; 16.4
CSE 143 Lecture 14 Interfaces; Abstract Data Types (ADTs) reading: 9.5, 11.1; 16.4 slides adapted from Marty Stepp and Hélène Martin http://www.cs.washington.edu/143/ Related classes Consider classes for
More informationCSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours:
CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Tuesday 10:00 AM 12:00 PM * Wednesday 4:00 PM 5:00 PM Friday 11:00 AM 12:00 PM OR
More informationCollections and Maps
Software and Programming I Collections and Maps Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Array Lists Enhanced for Loop ArrayList and LinkedList Collection Interface Sets and
More informationSoftware 1 with Java. Java Collections Framework. Collection Interfaces. Online Resources. The Collection Interface
Java Collections Framework Collection: a group of elements Based Design: Software 1 with Java Java Collections Framework s s Algorithms Recitation No. 6 (Collections) 2 Collection s Online Resources Collection
More information11/27/12. CS202 Fall 2012 Lecture 11/15. Hashing. What: WiCS CS Courses: Inside Scoop When: Monday, Nov 19th from 5-7pm Where: SEO 1000
What: WiCS CS Courses: Inside Scoop When: Monday, Nov 19th from -pm Where: SEO 1 Having trouble figuring out what classes to take next semester? Wish you had information on what CS course to take when?
More informationSection Lists and Sets
Section 10.2 Lists and Sets IN THE PREVIOUS SECTION, we looked at the general properties of collection classes in Java. In this section, we look at some specific collection classes and how to use them.
More informationCOMP-202 Unit 7: More Advanced OOP. CONTENTS: ArrayList HashSet (Optional) HashMap (Optional)
COMP-202 Unit 7: More Advanced OOP CONTENTS: ArrayList HashSet (Optional) HashMap (Optional) Managing a big project Many times, you will need to use an Object type that someone else has created. For example,
More informationJAVA COLLECTION FRAMEWORK & SETS
JAVA COLLECTION FRAMEWORK & SETS Ch07.4-5 & Ch10.5 Presentation for use with the textbook 1. Data Structures and Algorithms in Java, 6 th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser,
More informationSet<Integer> s = new TreeSet<Integer>(); s.add( 7 ); s.add( 7 ); System.out.println( s.size() );
Advanced Java Concepts Maps and Sets and Miscellany Exercises and Programs 1. This code a) contains a compiler error. b) contains a runtime error. c) displays 1 d) displays 2 2. This code a) contains a
More informationDM550 Introduction to Programming part 2. Jan Baumbach.
DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net Sorting Tree Balancing A sorted tree is balanced iff for each node holds: Math.abs(size(node.left)
More informationCITS1001 week 4 Grouping objects lecture 2
CITS1001 week 4 Grouping objects lecture 2 Arran Stewart March 29, 2018 1 / 37 Overview Last lecture, we looked at how we can group objects together into collections We looked at the ArrayList class. This
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 informationתוכנה 1 מבני נתונים גנריים
תוכנה 1 מבני נתונים גנריים תרגול 8 Java Collections Framework Collection: a group of elements Interface Based Design: Java Collections Framework Interfaces Implementations Algorithms 2 Online Resources
More informationSome examples and/or figures were borrowed (with permission) from slides prepared by Prof. H. Roumani. The Collection Framework
Some examples and/or figures were borrowed (with permission) from slides prepared by Prof. H. Roumani The Collection Framework Collection: an aggregate that can hold a varying number of elements Interface:
More informationLists and Iterators. CSSE 221 Fundamentals of Software Development Honors Rose-Hulman Institute of Technology
Lists and Iterators CSSE 221 Fundamentals of Software Development Honors Rose-Hulman Institute of Technology Announcements Should be making progress on VectorGraphics. Should have turned in CRC cards,
More informationJava Map and Set collections
Java Map and Set collections Java Set container idea interface Java Map container idea interface iterator concordance example Java maps and sets [Bono] 1 Announcements This week s lab based on an example
More informationLecture Outline. Parametric Polymorphism and Java Generics. Polymorphism. Polymorphism
Lecture Outline Parametric Polymorphism and Java Generics Parametric polymorphism Java generics Declaring and instantiating generics Bounded types: restricting instantiations Generics and subtyping. Wildcards
More informationLecture 8: Iterators and More Mutation
Integrated Introduction to Computer Science Fisler, Nelson Contents 1 Traversing Lists 1 2 Motivating Iterators 2 3 Writing an Iterator 3 4 Writing Sum with an Iterator 4 Objectives By the end of this
More information06 - Building Lists Recursively. Spring 2018 COMP110
06 - Building Lists Recursively Spring 2018 COMP110 Announcements Review Session: Tomorrow Night at 5pm in SN014 Tutoring: Friday from 12-4pm in SN115 PS01 On Point Functions Due Sunday at 11:59pm Midterm
More informationINTRODUCTION TO DATA AND PROCEDURE
INTRODUCTION TO DATA AND PROCEDURE In this book, our goal is to understand computation. In particular, we want to be able to take any computational problem and produce a technique for solving it that is
More informationToday's Agenda. > To give a practical introduction to data structures. > To look specifically at Lists, Sets, and Maps
Today's Agenda > To give a practical introduction to data structures > To look specifically at Lists, Sets, and Maps > To talk briefly about Generics in Java > To talk about interfaces in Java Data Structures
More informationCS231 - Spring 2017 Linked Lists. ArrayList is an implementation of List based on arrays. LinkedList is an implementation of List based on nodes.
CS231 - Spring 2017 Linked Lists List o Data structure which stores a fixed-size sequential collection of elements of the same type. o We've already seen two ways that you can store data in lists in Java.
More informationCMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists
CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists Due on Tuesday February 24, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI
More informationPolymorphism: Interfaces and Iteration. Fundamentals of Computer Science
Polymorphism: Interfaces and Iteration Fundamentals of Computer Science Outline A shape object hierarchy Classes that extend Versus classes that implements Java interfaces How Java handles multiple-inheritance
More informationDesign Patterns. James Brucker
Design Patterns James Brucker 1 Reusable Ideas Developers reuse knowledge, experience, & code Application Level reuse a project design & code of a similar project Design Level apply known design principles
More informationתוכנה 1 מבני נתונים גנריים
תוכנה 1 מבני נתונים גנריים תרגול 8 2 Java Collections Framework Collection: a group of elements Interface Based Design: Java Collections Framework Interfaces Implementations Algorithms 3 Online Resources
More informationArrays and while Loops. Lecture 15 - COMP110 - Spring 2018
Arrays and while Loops Lecture 15 - COMP110 - Spring 2018 Announcements PS04 - March Sadness - Due Sunday 3/25 at 11:59pm Review Session - Tomorrow at 5pm in SN014 Tutoring Friday from 12pm - 4pm in SN115
More informationCOURSE 4 PROGRAMMING III OOP. JAVA LANGUAGE
COURSE 4 PROGRAMMING III OOP. JAVA LANGUAGE PREVIOUS COURSE CONTENT Inheritance Abstract classes Interfaces instanceof operator Nested classes Enumerations COUSE CONTENT Collections List Map Set Aggregate
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Object-Oriented Programming Intro Department of Computer Science University of Maryland, College Park Object-Oriented Programming (OOP) Approach to improving software
More informationCSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours:
CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Tuesday 10:00 AM 12:00 PM * Wednesday 4:00 PM 5:00 PM Friday 11:00 AM 12:00 PM OR
More informationMore on Abstraction in Java
More on Abstraction in Java More on Interfaces Produced by: Mairead Meagher Dr. Siobhán Drohan Eamonn de Leastar Department of Computing and Mathematics http://www.wit.ie/ Topic List Interfaces define
More informationChanging an Object s Properties
Go ahead and PULL Lecture Materials & Sign-in on PollEv Right Click Lecture > Team > Pull Poll Everywhere: pollev.com/comp110 Lecture 4 Changing an Object s Properties Fall 2016 Announcements Review Session
More informationAnnouncements. Java Graphics. Exceptions. Java Odds & Ends
Java Odds & Ends Lecture 25 CS211 Fall 2005 Final Exam Wednesday, 12/14 9:00-11:30am Uris Aud Review Session Sunday, 12/11 1:00-2:30pm Kimball B11 Check your final exam schedule! Announcements For exam
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 informationData Classes & Objects and CSV Processing. Lecture 8 - Spring COMP110
Data Classes & Objects and CSV Processing Lecture 8 - Spring 2018 - COMP110 Announcements WS02 Due Friday at 11:59pm Review Session Tomorrow (Wednesday) at 5pm in SN014 Uncertain with topics from the last
More informationSoftware Construction
Lecture 7: Type Hierarchy, Iteration Abstraction Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering
More informationName Section Number. CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice
Name Section Number CS210 Exam #4 *** PLEASE TURN OFF ALL CELL PHONES*** Practice All Sections Bob Wilson OPEN BOOK/OPEN NOTES You will have all 90 minutes until the start of the next class period. Spend
More informationChapter 16. The Collection Landscape. Collections, Maps and Iterators
Chapter 16 Collections, Maps and Iterators Collections A Java collection is any class that holds objects and implements the Collection interface For example, ea pe,the ArrayList class cassis a Java
More informationRecursive Data Types, null, and Linked Lists
Recursive Data Types,, and Linked Lists Lecture 16 "hello" "world" Data Buddies Survey Undergraduate Survey http://bit.ly/csundergraduate Graduate Survey http://bit.ly/csgraduate What is it? Anonymous
More informationParametric polymorphism and Generics
Parametric polymorphism and Generics Today s Lecture Outline Parametric polymorphism Java generics Declaring and instantiating generics Bounded types: restricting instantiations Generics and subtyping.
More informationDM550 Introduction to Programming part 2. Jan Baumbach.
DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net MULTIVARIATE TREES 2 Multivariate Trees general class of trees nodes can have any number of children
More informationA+ Computer Science -
In Java, any variable that refers to an Object is a reference variable. The variable stores the memory address of the actual Object. String x = new String("Chuck"); String y = x; x and y store the same
More informationLecture 6. COMP1006/1406 (the OOP course) Summer M. Jason Hinek Carleton University
Lecture 6 COMP1006/1406 (the OOP course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments A1,A2,A3 are all marked A4 marking just started A5 is due Friday, A6 is due Monday a quick
More informationSUMMARY INTRODUCTION COLLECTIONS FRAMEWORK. Introduction Collections and iterators Linked list Array list Hash set Tree set Maps Collections framework
SUMMARY COLLECTIONS FRAMEWORK PROGRAMMAZIONE CONCORRENTE E DISTR. Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2015 2016 Introduction Collections and
More informationDM550 / DM857 Introduction to Programming. Peter Schneider-Kamp
DM550 / DM857 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk http://imada.sdu.dk/~petersk/dm550/ http://imada.sdu.dk/~petersk/dm857/ ABSTRACT DATATYPES 2 Abstract Datatype (ADT)
More informationCSC 204 Lab 12: Intro to ArrayLists
CSC 204 Lab 12: Intro to ArrayLists Goals After doing this lab, you should be able to: declare and trace an ArrayLists work with ArrayLists of objects use the for statement to read in, process, and print
More informationGeneric Programming Recursive Binary Search SESSION 9. Programming Languages for Objects
SESSION 9 Programming Languages for Objects Generic Programming Lists and Sets Maps Programming with the Java Collection Framework Writing Generic Classes and Methods Generic Programming.1.1 Recursive
More informationCS61B Lecture #23. Today: Java support for generic programming. Readings for today: A Java Reference, Chapter 10.
CS61B Lecture #23 Announcements: Josh s office hours are now back in his office. HW6 now due Saturday. Partial solar eclipse tomorrow, starting at 1:52PM. Next one in August, 2017. See http://www.timeanddate.com/eclipse/list.html
More information1. Suppose you are using a HashMap<String,Integer>. What is the runtime of put and get assuming you have a reasonable hash function?
Data Structures Brett Bernstein Lecture 10: BitSets and Packages Exercises 1. Suppose you are using a HashMap. What is the runtime of put and get assuming you have a reasonable hash function?
More informationAdam Blank Lecture 5 Winter 2019 CS 2. Introduction to Programming Methods
Adam Blank Lecture 5 Winter 2019 CS 2 Introduction to Programming Methods CS 2: Introduction to Programming Methods Java Collections Abstract Data Types (ADT) 1 Abstract Data Type An abstract data type
More informationCOMP 250. Lecture 32. interfaces. (Comparable, Iterable & Iterator) Nov. 22/23, 2017
COMP 250 Lecture 32 interfaces (Comparable, Iterable & Iterator) Nov. 22/23, 2017 1 Java Comparable interface Suppose you want to define an ordering on objects of some class. Sorted lists, binary search
More informationThe collections interfaces
Generics in Java Advanced Programming 4/18/16 1 The collections interfaces Contains unique elements Maps unique keys to values 4/18/16 2 Collections in Java Array has a special language support Iterators
More informationExternal vs. Internal Iteration in Java 8
External vs. Internal Iteration in Java 8 Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt
More informationComputational Expression
Computational Expression Do While Loop, For Loop, Arrays Janyl Jumadinova 26 November, 2018 Janyl Jumadinova Computational Expression 26 November, 2018 1 / 18 Review: Repetition structures while() loop
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 373. Java Collection Framework. reading: Weiss Ch. 3, 4.8. slides created by Marty Stepp
CSE 373 Java Collection Framework reading: Weiss Ch. 3, 4.8 slides created by Marty Stepp http://www.cs.washington.edu/373/ 1 Arrays array: An object that stores many values of the same type. element:
More informationJava Review: Objects
Outline Java review Abstract Data Types (ADTs) Interfaces Class Hierarchy, Abstract Classes, Inheritance Invariants Lists ArrayList LinkedList runtime analysis Iterators Java references 1 Exam Preparation
More informationPractice with if-then-else. COMP101 Lecture 7 Spring 2018
Practice with if-then-else COMP101 Lecture 7 Spring 2018 Announcements PS01 - Due Friday at 11:59pm 3 parts, each in increasing difficulty. You will submit individually for each. Tutoring - Tomorrow from
More informationCMPSCI 187: Programming With Data Structures. Lecture 6: The StringLog ADT David Mix Barrington 17 September 2012
CMPSCI 187: Programming With Data Structures Lecture 6: The StringLog ADT David Mix Barrington 17 September 2012 The StringLog ADT Data Abstraction Three Views of Data Java Interfaces Defining the StringLog
More informationInner Classes. CMSC 433 Programming Language Technologies and Paradigms Spring Example: The Queue Class. Example: The Queue Class (cont d)
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Inner Classes & Iterators Mar. 6, 2007 Inner Classes Classes can be nested inside other classes These are called inner classes Within
More information[TAP:PMUHE] Stack vs Queue
[TAP:PMUHE] Stack vs Queue A Singly Linked List can be used to implement which of the following A. List B. Stack C. Queue D. B and C E. Whatever 1 Administrative Details Midterm and lab scores (4 and 5)
More informationJava Collection Framework
Java Collection Framework Readings Purpose To provide a working knowledge of the Java Collections framework and iterators. Learning Objectives Understand the structure of the Java Collections framework
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 informationCSC 172 Data Structures and Algorithms. Lecture 3 Spring 2018 TuTh 3:25 pm 4:40 pm
CSC 172 Data Structures and Algorithms Lecture 3 Spring 2018 TuTh 3:25 pm 4:40 pm Agenda Administrative aspects Java Generics Chapter 1 ADMINISTRATIVE ASPECTS Workshops Workshops Workshops begin on this
More informationWinter 2016 COMP-250: Introduction to Computer Science. Lecture 6, January 28, 2016
Winter 2016 COMP-250: Introduction to Computer Science Lecture 6, January 28, 2016 Java Generics element next _, Java Generics Java Generics (Doubly) Linked List (Doubly) Linked List Node element next
More informationCS 2230 CS II: Data structures. Meeting 26: the Set ADT Brandon Myers University of Iowa
CS 2230 CS II: Data structures Meeting 26: the Set ADT Brandon Myers University of Iowa Today s learning objectives Interpret code that uses the Set interface Describe how to use a Set for a simple application
More informationgeneric programming alberto ferrari university of parma
generic programming alberto ferrari university of parma contents generic programming java generic programming methods & generic programming classes & generic programming java with generics generic methods
More informationCollections and Iterators. Collections
Collections and Iterators Based on the notes from David Fernandez-Baca and Steve Kautz Based on The Java Tutorial (http://docs.oracle.com/javase/tutorial/java/) Bryn Mawr College CS206 Intro to Data Structures
More informationData Types and the main Function
COMP101 - UNC Data Types and the main Function Lecture 03 Announcements PS0 Card for Someone Special Released TODAY, due next Wednesday 9/5 Office Hours If your software has issues today, come to office
More informationJava Collections Framework
Java Collections Framework Introduction In this article from my free Java 8 course, you will be given a high-level introduction of the Java Collections Framework (JCF). The term Collection has several
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 informationInterfaces and itera-on. CSCI 136: Fundamentals of Computer Science II Keith Vertanen
Interfaces and itera-on CSCI 136: Fundamentals of Computer Science II Keith Vertanen Overview A shape object hierarchy Classes that extend Versus classes that implements Java interfaces How Java handles
More informationMore sophisticated behaviour Lecture 09
More sophisticated behaviour Lecture 09 Waterford Institute of Technology February 22, 2016 John Fitzgerald Waterford Institute of Technology, More sophisticated behaviour Lecture 09 1/42 Presentation
More informationGrouping objects. The requirement to group objects
Grouping objects Introduction to collections 4.0 The requirement to group objects Many applications involve collections of objects: Personal organizers. Library catalogs. Student-record system. The number
More informationIntroduction to Generics in Java 5
Introduction to Generics in Java 5 One trouble with the list, stack, and queue ADTs that we have written so far is that the type of the objects stored in them cannot be checked at compile time. For example,
More informationClass 26: Linked Lists
Introduction to Computation and Problem Solving Class 26: Linked Lists Prof. Steven R. Lerman and Dr. V. Judson Harward 2 The Java Collection Classes The java.util package contains implementations of many
More informationIteration Abstraction
Iteration Abstraction Comp-303 : Programming Techniques Lecture 8 Alexandre Denault Computer Science McGill University Winter 2004 February 16, 2004 Lecture 8 Comp 303 : Programming Techniques Page 1 Last
More informationMore 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 information09/02/2013 TYPE CHECKING AND CASTING. Lecture 5 CS2110 Spring 2013
1 TYPE CHECKING AND CASTING Lecture 5 CS2110 Spring 2013 1 Type Checking 2 Java compiler checks to see if your code is legal Today: Explore how this works What is Java doing? Why What will Java do if it
More informationAdam Blank Lecture 9 Autumn 2016 CSE 143. Computer Programming II
Adam Blank Lecture 9 Autumn 2016 CSE 143 Computer Programming II CSE 143: Computer Programming II Sets and Maps Outline 1 Sets 2 Foreach Loops 3 Maps Alice in Wonderland 1 Count the Number of Distinct
More informationCS61B Lecture #17. Administrative: Need alternative test time? Make sure you send me mail.
Administrative: CS61B Lecture #17 Need alternative test time? Make sure you send me mail. Last modified: Fri Oct 18 14:48:51 2013 CS61B: Lecture #17 1 Topics Overview of standard Java Collections classes.
More informationIntroduction to Lists and Recursion
Introduction to Lists and Recursion Lecture 05 - Spring 2018 - COMP110 Navigate to localhost:3000/close - Then: npm run pull, npm start "All about that base (case)" ~Meghan Trainor All About That Bass
More informationCS : Data Structures
CS 600.226: Data Structures Michael Schatz Oct 3, 2016 Lecture 14: Machine Code Optimization Assignment 5: Due Sunday Oct 9 @ 10pm Remember: javac Xlint:all & checkstyle *.java & JUnit Solutions should
More informationAdvanced Java Concepts Unit 9: Graph Exercises
dvanced Java oncepts Unit : Graph Exercises. Which one of the following data structures would be best suited for representing a street map for pedestrians? graph with... a) undirected, unweighted edges.
More information5 More sophisticated behavior
Main concepts to be covered 5 More sophisticated behavior Using library classes to implement some more advanced functionality BK Chap. 6 Maps and sets Random number generation Equality vs identity Class
More informationCS108, Stanford Handout #8. Java Generics
CS108, Stanford Handout #8 Fall, 2007-08 Nick Parlante Java Generics Java generics (added in version 5) are a mixed bag. Some uses of generics are simple to understand and make the code cleaner. They are
More information