Collections. Collections. Collections - Arrays. Collections - Arrays
|
|
- Merry Hensley
- 6 years ago
- Views:
Transcription
1 References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures Collections Collection types Collection wrappers Composite classes revisited Collection classes s Enumerations 9/9/ /9/ Collections A collection is a class that holds and organizes references to objects to be handled as a group Collections must be instantiated before being used: Collection c = new Collection(); Java does not allow whole objects to be stored in a collection -- only the references to the objects Whole objects can t be stored in a collection: 9/9/ Collections The minimum set of methods provided by a collection include adding objects removing objects iterating through the objects in a predetermined order getting a count of the number of objects in the collection reporting whether or not a particular object is in the collection 9/9/ Collections - Arrays Array objects are first-class objects, meaning that all operations in the super class Object are allowed on an array. What class are arrays objects of? The compiler creates an internal class that represents arrays of specific types. Collections - Arrays The following program reveals the internal class name created by the compiler for arrays of SomeClass. public class SomeClass{ public static void main (String[] args) { SomeClasssomeClasses[ ] = new SomeClass[3]; System.out.println (someclasses.getclass().getname()); [LSomeClass; 9/9/ /9/
2 Collections - Arrays Java does not support multidimensional arrays, but you can construct an array of arrays. public class test { int [] [] [] threed; //create an array of 2, where each of the two elements is an //array of 3, where each of the three elements is an array //of 4 integers. threed = new int [2][3][4]; for (int i=0; i < threed.length; i++) { System.out.println( i= + i); for(int j=0; j < threed[i].length; j++) { for(int k=0; k<threed[i][j].length; k++) System.out.print(threeD[i][j][k] + ); System.out.println(); //end for-j //end for-i i=0 i=1 Collections - Arrays N-dimensional arrays do not have to be square. public class test { int [] [] matrix; //create an array of 5 (arays of int) matrix = new int [5][ ]; //note: new int [5][][] would be an array of 5 (array of arrays of int) //each of the 5 arrays will have a different size for (int i=0; i < matrix.length; i++) matrix[i] = new int[i+1]; for(int j=0; j < matrix.length; j++) { for(int k=0; k < matrix[j].length; k++) System.out.print(matrix[j][k] + ); System.out.println(); //end for-j /9/ /9/ Java has other generic collection types besides arrays : Ordered List items can be placed in the collection in a particular order and later retrieved in that same order. Objects can be retrieved based on their position in the list items are added at the end of the list unless explicit instructions given to insert somewhere in the middle when item is removed, the space left is closed up 9/9/ Sorted Ordered List similar to ordered list - but programmer doesn t have to worry about keeping the order the list automatically inserts an object in the appropriate location to maintain sorted order sort key must be defined for the list 9/9/ Set unordered collection we can step through the collection to perform operation on each item we can test whether a given object has been added duplicates are not allowed usage: group students according to the dept they are majoring in Dictionary provides means for sorting each object reference along with a unique key (one of the object s attributes) that can be used to retrieve it later items can be retrieved in ascending key order efficient access using key usage: a course catalog indexed by combination of course number plus section number 9/9/ /9/
3 In Java, collections store references ( handles ) given univ.students registered for a course, we can maintain an ordered list of students to keep track of who registered first for a follow-on course a dictionary so student object can be retrieved based on his/her name a second dictionary that organizes all university students based on ID number Dictionary indexed by Student name Students attending CS191 Adam 4321 Eve 6789 Bobby 2394 s234 sid... Dictionary indexed By Student number All Student Body records s845 sid Ordered List Students waiting to attend CS291 9/9/ /9/ Based on diagram by Jacquie Barker Collections extended You can create your own collection type by extending an existing collection type must be careful not to override methods in the super class that you don t understand in detail by creating a new type from scratch not usually necessary, given all the built-in types in Java by creating a wrapper class that encapsulates one of the existing collection types, to hide details involved in manipulating the collection this is more common 9/9/ Wrapper for Collections Consider a class called EnrollmentCollection for a registration system. The class is to be used by Course objects to manage all enrolled Student objects. The new class would contain as an attribute an ordered list collection type (i.e., a Vector) methods provided by this class might include: enroll() and drop() for adding/removing students isenrolled() for preventing students from enrolling more than once in a course gettotalenrollment() for obvious reasons getnthstudent() for retrieving a specified student object 9/9/ class EnrollmentCollection { private Vector students = new Vector(); Collection Wrapper public boolean enroll(student s) { if (total students exceed course limit) return false; else if (s. isenrolled() ) return false; else if (some prereq not satisfied ) return false; else students.add(s); public boolean unenroll (Student s ) { if (!s.isenrolled() ) return false; else students.remove(s); public int gettotalenrollment() { return students.size(); public boolean isenrolled ( Student s ) { if (students.contains() ) return true; else return false; public Student getnthstudent(int n) { //details omitted Hide the student collection inside a Java Vector Delegate responsibility for adding the student More delegation We can switch the collection from a Vector to a different collection type without changing any client code. 9/9/ Collection Wrapper: Usage class Course { private EnrollmentCollection enrolledstudents = new EnrollmentCollection(); String coursename; int credits;. public boolean enroll(student s) { //pass the Student reference to the collection s enroll method (i.e., delegate // to another method the responsibility for enrolling the student) enrolledstudents.enroll(s ); public boolean unenroll(student s) { //ditto enrolledstudents.unenroll(s ); 9/9/
4 Collection Wrapper - Client Code public class StudentEnrollmentDriver { Course c = new Course(); Student s1 = new Student(); Student s2 = new Student(); Student s3 = new Student(); c.enroll(s1); c.enroll(s2); c.enroll(s3); EnrollmentCollection ec = c.getregisteredstudents (); for (all Student objects in Collection ec) { Student s = ec.getnthstudent(i ); s.printgradereport(); Ask course for a handle on the collection of all registered students 9/9/ Composite Classes Revisited A student is defined by the following attributes: name String id String birthdate Date address String major String gpa float advisor Professor courseload a collection of Course objects transcript a collection of TranscriptEntry objects or Transcript 9/9/ Composite Classes Revisited The courseload attribute is a collection of all Course objects that a Student is currently enrolled in. The transcript attribute is a list of all courses a student has taken since beginning college, including the semester taken and letter grade received. Defining attributes as collections makes the Student class a composite class. 9/9/ Composite Classes Revisited The transcript can be defined as a class, and transcript objects can be placed in a collection. class TranscriptEntry { private Course coursetaken; private String semestertaken; private String gradereceived; System.out.println(course.getCourseNo() + \t + course.gettitle () + course.getcredithourse () + \t + gradereceived() ); // other methods The collection of TranscriptEntry objects is encapsulated in a Transcript wrapper class. Each TranscriptEntry object maintains a handle on its corresponding Course object so it can obtain course information class Student { String name; String id; Transcript transcript; 9/9/ Exercise Consider the abstraction: A book is a collection of chapters, which are each collections of pages Sketch pseudocode for Book, Chapter and Page classes. Invent attributes you think would be relevant, using collections as attributes where appropriate. Methods on Book class should add chapters and pages and determine how many chapters and pages the book contains. Java Collection Classes: is an implementation of the dictionary collection type. Implements the Java Dictionary interface Key and object can be of any object type Has capacity and tools to decide when to grow the table To use, import the java.util package students = new ((); To create objects to be inserted: Object object = new Object(keyValue, Object) 9/9/ /9/
5 Java Collection Classes: Specify a key value to use for retrieval. SSN is the key here. Student s1 = new Student ( , Eve Black ); Student s2 = new Student( , Adam Brown ); Student s3 = new Student( , Bobby Green ); students.put(s1.getssn(), s1); students.put(s2.getssn(), s2); students.put(s3.getssn(), s3); Student s = (Student) students.get( ); Store student handles in hash table Retrieve reference for Eve Black. Must be cast to correct type. 9/9/ implements the following methods from Dictionary: public abstract Object get(object key); //returns null if object with key not found public abstract int size(); //returns number of key/object pairs in table public abstract boolean isempty(); public abstract Object put(object key, Object value); //inserts value with key. If key already there, it overwrites the value and returns it; else it returns null. public abstract Object remove(object key); //deletes reference to object represented by key; the object itself, as it exists outside the table is not affected public abstract Enumeration elements(); //returns an enumeration of the elements in the dictionary public abstract Enumeration keys(); //returns enumeration of the keys in the dictionary 9/9/ also supports the methods: public synchronized boolean containskey(object key); public synchronized boolean contains(object element); /*returns true if element is in the hashtable; more expensive operation than containskey because elements are stored based on key */ public synchronized void clear(); //empties the table public synchronized clone(); /*creates clone of the table; keys and elements themselves are not cloned */ Constructors: (); //default initial capacity and load factor of 0.75 (int initialcapacity); //capacity set to initcapacity;load factor 0.75 (int initialcapacity, float loadfactor); //loadfactor is between 0.0 and 1.0; table will resize itself if number of entries increases to more than current capacity * load factor 9/9/ /9/ For-loops vs Enumerations Before using put, it is important to verify that the key about to be inserted in the table is not a duplicate. Student s1 = new Student ( , Eve Brown ); if ( students.containskey( s1.getssn() ) { //This is a duplicate //Details omitted else students.put( s1.getssn(), s1 ); for-loops cannot be used to access elements of a hashtable because elementat(i) makes no sense with a hashtable; elements have no relative position --no meaningful index. for (i=0; i<enrollment.size(); i++) { Student s = (Student) enrollment.elementat(i); s.computefinalgrade(); The Enumeration interface is an alternate way to iterate through the values in a collection via the method Enumeration elements(); 9/9/ /9/
6 Enumerations An Enumeration is a special type of temporary collection used to step through another collection of object references one by one until the Enumeration is empty. The original collection remains unchanged. Original Collection Enumerations The Enumeration class is an abstract superclass defined in java.util There are two methods in the Enumeration interface: public abstract boolean hasmoreelements(); //returns true is there are more elements. This method can be called more than once between successive calls to nextelement(). public abstract Object nextelement(); //returns next element of the enumeration Copy of object handles made by Enumeration 9/9/ /9/ Enumerations - With Vector Enumerations - With Vector coursestaken= new Vector(); Course c1 = new Course( CS101 ); Course c2 = new Course( CS201 ); Course c3 = new Course( CS352 ); coursestaken.add(c1) coursestaken.add(c2); coursestaken.add(c3); Create the vector and fill it with Course objects public class Test { students = new (); Student s1 = new Student ( , Eve Black ); Student s2 = new Student( , Adam Brown ); Student s3 = new Student( , Bobby Green ); students.put(s1.getssn(), s1); students.put(s2.getssn(), s2); students.put(s3.getssn(), s3); Eve Black Adam Brown Bobby Green Enumeration e = coursestaken.elements(); while (e.hasmoreelements() ) { Course c = (Course) e.nextelement(); System.out.println(c); Create an Enumeration of the Vector objects Iterate through the table Enumeration e = students.elements(); System.out.println ( \ncontents of student hashtable: ); while ( e.hasmoreelements() ) { Student s = (Student) e.nextelement(); System.out.println ( \t + s.getname() s.getssn() ); 9/9/ /9/ Enumerations - A second method retrieves an Enumeration of references to the key objects Keys are String objects Enumeration e = students.keys(); while (e.hasmoreelements() ) { String key = (String) e.nextelement(); Student s = (Student) students.get(key); System.out.println( \t + s.getname() s.getssn()); Use the key to look up the student 9/9/
Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations
References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures 9/16/2003 1 Collections Collection types Collection wrappers Composite
More informationCollections 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 informationJava Collections. Readings and References. Collections Framework. Java 2 Collections. References. CSE 403, Winter 2003 Software Engineering
Readings and References Java Collections References» "Collections", Java tutorial» http://java.sun.com/docs/books/tutorial/collections/index.html CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/
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 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 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 informationtostring() Method tostring() Method -Example tostring() Method -Example StringBufferClass StringBuffer class - Constructors
tostring() Method Arrays, Strings and Collections [2] Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS) Laboratory Dept. of Computer Science and Software Engineering University of Melbourne,
More informationTopic #9: Collections. Readings and References. Collections. Collection Interface. Java Collections CSE142 A-1
Topic #9: Collections CSE 413, Autumn 2004 Programming Languages http://www.cs.washington.edu/education/courses/413/04au/ If S is a subtype of T, what is S permitted to do with the methods of T? Typing
More informationA simple map: Hashtable
Using Maps A simple map: Hashtable To create a Hashtable, use: import java.util.*; Hashtable table = new Hashtable(); To put things into a Hashtable, use: table.put(key, value); To retrieve a value from
More informationCOMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette
COMP 250: Java Programming I Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette Variables and types [Downey Ch 2] Variable: temporary storage location in memory.
More informationObject-Oriented Programming
References: Beginning Java Objects by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin 9/11/2003 1 Object Oriented
More informationJava Collections. Readings and References. Collections Framework. Java 2 Collections. CSE 403, Spring 2004 Software Engineering
Readings and References Java Collections "Collections", Java tutorial http://java.sun.com/docs/books/tutorial/collections/index.html CSE 403, Spring 2004 Software Engineering http://www.cs.washington.edu/education/courses/403/04sp/
More informationObject-Oriented Programming. Objects. Objects. Objects
References: Beginning Java by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin Object Oriented Programming defined
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationDeclaring and ini,alizing 2D arrays
Declaring and ini,alizing 2D arrays 4 2D Arrays (Savitch, Chapter 7.5) TOPICS Multidimensional Arrays 2D Array Allocation 2D Array Initialization TicTacToe Game // se2ng up a 2D array final int M=3, N=4;
More informationLearning objec-ves. Declaring and ini-alizing 2D arrays. Prin-ng 2D arrays. Using 2D arrays Decomposi-on of a solu-on into objects and methods
Learning objec-ves 2D Arrays (Savitch, Chapter 7.5) TOPICS Using 2D arrays Decomposi-on of a solu-on into objects and methods Multidimensional Arrays 2D Array Allocation 2D Array Initialization TicTacToe
More informationReview. CSE 143 Java. A Magical Strategy. Hash Function Example. Want to implement Sets of objects Want fast contains( ), add( )
Review CSE 143 Java Hashing Want to implement Sets of objects Want fast contains( ), add( ) One strategy: a sorted list OK contains( ): use binary search Slow add( ): have to maintain list in sorted order
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 informationCourse Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++
Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and
More informationCO Java SE 8: Fundamentals
CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator
More informationArrays. COMS W1007 Introduction to Computer Science. Christopher Conway 10 June 2003
Arrays COMS W1007 Introduction to Computer Science Christopher Conway 10 June 2003 Arrays An array is a list of values. In Java, the components of an array can be of any type, basic or object. An array
More informationSets and Maps. Part of the Collections Framework
Sets and Maps Part of the Collections Framework The Set interface A Set is unordered and has no duplicates Operations are exactly those for Collection int size( ); boolean isempty( ); boolean contains(object
More informationDeclarations and Access Control SCJP tips
Declarations and Access Control www.techfaq360.com SCJP tips Write code that declares, constructs, and initializes arrays of any base type using any of the permitted forms both for declaration and for
More informationHashing. It s not just for breakfast anymore! hashing 1
Hashing It s not just for breakfast anymore! hashing 1 Hashing: the facts Approach that involves both storing and searching for values (search/sort combination) Behavior is linear in the worst case, but
More informationCollections, Maps and Generics
Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.
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 informationMany strategies have been developed for this, but they often produce surprising results.
Interfaces C++ is among those languages offering multiple inheritance: a class may inherit from more than one direct superclass. This adds flexibility, but it also brings problems. A class may inherit
More informationJava An Introduction. Outline. Introduction
Java An Introduction References: Internet Course notes by E.Burris Computing Fundamentals with Java, by Rick Mercer Beginning Java Objects - From Concepts to Codeby Jacquie Barker Object-Oriented Design
More informationCS 231 Data Structures and Algorithms, Fall 2016
CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard
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 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 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 informationOutline. 15. Inheritance. Programming in Java. Computer Science Dept Va Tech August D Barnette, B Keller & P Schoenhoff
Outline 1 Inheritance: extends ; Superclasses and Subclasses Valid and invalid object states, & Instance variables: protected Inheritance and constructors, super The is-a vs. has-a relationship (Inheritance
More informationJava Intro 3. Java Intro 3. Class Libraries and the Java API. Outline
Java Intro 3 9/7/2007 1 Java Intro 3 Outline Java API Packages Access Rules, Class Visibility Strings as Objects Wrapper classes Static Attributes & Methods Hello World details 9/7/2007 2 Class Libraries
More information1.00 Lecture 32. Hashing. Reading for next time: Big Java Motivation
1.00 Lecture 32 Hashing Reading for next time: Big Java 18.1-18.3 Motivation Can we search in better than O( lg n ) time, which is what a binary search tree provides? For example, the operation of a computer
More informationClass, Variable, Constructor, Object, Method Questions
Class, Variable, Constructor, Object, Method Questions http://www.wideskills.com/java-interview-questions/java-classes-andobjects-interview-questions https://www.careerride.com/java-objects-classes-methods.aspx
More informationCS Introduction to Data Structures Week 1 Thursday
CS 367 - Introduction to Data Structures Week 1 Thursday We assume that you are proficient at object-oriented programming in Java. Please enroll in CS300 if you do not know Java and have not written object-oriented
More informationStandard ADTs. Lecture 19 CS2110 Summer 2009
Standard ADTs Lecture 19 CS2110 Summer 2009 Past Java Collections Framework How to use a few interfaces and implementations of abstract data types: Collection List Set Iterator Comparable Comparator 2
More informationCS 231 Data Structures and Algorithms Fall Arrays Lecture 07 - September 19, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 Arrays Lecture 07 - September 19, 2018 Prof. Zadia Codabux 1 Agenda Arrays For Each Loop 2D Arrays 2 Administrative None 3 Arrays 4 Array Data structure
More informationCS260 Intro to Java & Android 03.Java Language Basics
03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance
More informationLecture 15 Summary 3/11/2009. By the end of this lecture, you will be able to use different types of Collections and Maps in your Java code.
Lecture 15 Summary Collections Framework Iterable, Collections, Set Map Collections class Comparable and Comparator By the end of this lecture, you will be able to use different types of Collections and
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationCONTENTS: Array Usage Multi-Dimensional Arrays Reference Types. COMP-202 Unit 6: Arrays
CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types COMP-202 Unit 6: Arrays Introduction (1) Suppose you want to write a program that asks the user to enter the numeric final grades of 350 COMP-202
More informationSample Examination Paper Programming and Software Development
THE UNIVERSITY OF MELBOURNE DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Sample Examination Paper 2008 433-520 Programming and Software Development Exam Duration: 2 hours Total marks for this
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 informationChapter 6: Using Arrays
Chapter 6: Using Arrays Declaring an Array and Assigning Values to Array Array Elements A list of data items that all have the same data type and the same name Each item is distinguished from the others
More informationThe Proxy Pattern. Design Patterns In Java Bob Tarr
The Proxy Pattern Intent Provide a surrogate or placeholder for another object to control access to it Also Known As Surrogate Motivation A proxy is a person authorized to act for another person an agent
More information11 Data Structures Foundations of Computer Science Cengage Learning
11 Data Structures 11.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a data structure. Define an array as a data structure
More informationProgramming overview
Programming overview Basic Java A Java program consists of: One or more classes A class contains one or more methods A method contains program statements Each class in a separate file MyClass defined in
More informationCollections class Comparable and Comparator. Slides by Mark Hancock (adapted from notes by Craig Schock)
Lecture 15 Summary Collections Framework Iterable, Collections List, Set Map Collections class Comparable and Comparator 1 By the end of this lecture, you will be able to use different types of Collections
More informationLecture 15 Summary. Collections Framework. Collections class Comparable and Comparator. Iterable, Collections List, Set Map
Lecture 15 Summary Collections Framework Iterable, Collections List, Set Map Collections class Comparable and Comparator 1 By the end of this lecture, you will be able to use different types of Collections
More informationHashing as a Dictionary Implementation
Hashing as a Dictionary Implementation Chapter 22 Contents The Efficiency of Hashing The Load Factor The Cost of Open Addressing The Cost of Separate Chaining Rehashing Comparing Schemes for Collision
More informationObject-Oriented Programming
13 Object-Oriented Programming Exercises 13.1 Using Java as an example: 13.2 Code reuse: inhertiance, interfaces. In the case of an interface, any class implementing the Comparable interface can be sorted
More informationThe class Object. Lecture CS1122 Summer 2008
The class Object http://www.javaworld.com/javaworld/jw-01-1999/jw-01-object.html Lecture 10 -- CS1122 Summer 2008 Review Object is at the top of every hierarchy. Every class in Java has an IS-A relationship
More informationJava classes cannot extend multiple superclasses (unlike Python) but classes can implement multiple interfaces.
CSM 61B Abstract Classes & Interfaces Spring 2017 Week 5: February 13, 2017 1 An Appealing Appetizer 1.1 public interface Consumable { public void consume (); public abstract class Food implements Consumable
More informationLecture 6 Collections
Lecture 6 Collections Concept A collection is a data structure actually, an object to hold other objects, which let you store and organize objects in useful ways for efficient access Check out the java.util
More informationCS 61B, Spring 1999 MT3 Professor M. Clancy
CS 61B, Spring 1999 MT3 Professor M. Clancy Problem #1 One approach to producing debugging output is to use inheritance to create objects that print any changes to themselves. For instance, instead of
More information27/04/2012. Objectives. Collection. Collections Framework. "Collection" Interface. Collection algorithm. Legacy collection
Objectives Collection Collections Framework Concrete collections Collection algorithm By Võ Văn Hải Faculty of Information Technologies Summer 2012 Legacy collection 1 2 2/27 Collections Framework "Collection"
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 7 : Collections Lecture Contents 2 Why collections? What is a collection? Non-generic collections: Array & ArrayList Stack HashTable
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 informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 10 - Object-Oriented Programming Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages
More informationIntroduction to Object-Oriented Programming
Introduction to Object-Oriented Programming Arrays, Part 2 of 2 Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 1331 Arrays, Part 2 of 2 1 / 16 A few more array topics Variable
More informationInheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L
Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive
More informationLecture 7: Classes and Objects CS2301
Lecture 7: Classes and Objects NADA ALZAHRANI CS2301 1 What is OOP? Object-oriented programming (OOP) involves programming using objects. An object represents an entity in the real world that can be distinctly
More informationCS61B - Exam 2 March 17, Consider the following example of a program that uses inheritance.
CS61B - Exam 2 March 17, 2003 Problem 0 (1 point): Identification Fill out you name, you neighbor s names and other information in the grid on the solution sheet. Problem 1: (4 points) Inheritance Consider
More informationUniversity of Massachusetts Amherst, Electrical and Computer Engineering
University of Massachusetts Amherst, Electrical and Computer Engineering ECE 122 Midterm Exam 1 Makeup Answer key March 2, 2018 Instructions: Closed book, Calculators allowed; Duration:120 minutes; Write
More informationCITS1001 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 informationCMSC 341 Lecture 7 Lists
CMSC 341 Lecture 7 Lists Today s Topics Linked Lists vs Arrays Nodes Using Linked Lists Supporting Actors (member variables) Overview Creation Traversal Deletion UMBC CMSC 341 Lists 2 Linked Lists vs Arrays
More informationCSE030 Fall 2012 Final Exam Friday, December 14, PM
CSE030 Fall 2012 Final Exam Friday, December 14, 2012 3-6PM Write your name here and at the top of each page! Name: Select your lab session: Tuesdays Thursdays Paper. If you have any questions or need
More informationIntroduction to Computer Science II (CSI 1101)
Introduction to Computer Science II (CSI 1101) Professor: M. Turcotte February 2002, duration: 75 minutes Identification Student name: last name: Section: Student number: initials: Signature: Instructions
More informationThis 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 informationDay 4. COMP1006/1406 Summer M. Jason Hinek Carleton University
Day 4 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments questions about assignment 2 a quick look back constructors signatures and overloading encapsulation / information
More informationcis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1
topics: introduction to java, part 1 cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 cis20.1-fall2007-sklar-leci.2 1 Java. Java is an object-oriented language: it is
More informationCS111: PROGRAMMING LANGUAGE II. Lecture 1: Introduction to classes
CS111: PROGRAMMING LANGUAGE II Lecture 1: Introduction to classes Lecture Contents 2 What is a class? Encapsulation Class basics: Data Methods Objects Defining and using a class In Java 3 Java is an object-oriented
More informationLecture 16: HashTables 10:00 AM, Mar 2, 2018
CS18 Integrated Introduction to Computer Science Fisler, Nelson Lecture 16: HashTables 10:00 AM, Mar 2, 2018 Contents 1 Speeding up Lookup 1 2 Hashtables 2 2.1 Java HashMaps.......................................
More informationCSC Java Programming, Fall Java Data Types and Control Constructs
CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference
More informationUniversity of Maryland College Park Dept of Computer Science
University of Maryland College Park Dept of Computer Science CMSC132H Fall 2009 Midterm First Name (PRINT): Last Name (PRINT): University ID: I pledge on my honor that I have not given or received any
More informationCS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)
CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers
More informationMODULE 3q - An Extended Java Object
MODULE 3q - An Extended Java Object THE BOX PROGRAM RENAMED Copy the file Box.java to Block.java and then make all the amendments indicated by comments in the program below. The name of the public class
More informationLecture 3. COMP1006/1406 (the Java course) Summer M. Jason Hinek Carleton University
Lecture 3 COMP1006/1406 (the Java course) Summer 2014 M. Jason Hinek Carleton University today s agenda assignments 1 (graded) & 2 3 (available now) & 4 (tomorrow) a quick look back primitive data types
More informationJava Arrays (review) Linked Lists (preview)
Java Arrays (review) Linked Lists (preview) 1 Array Agenda What is an array Declaration of an array Instantiation of an array Accessing array element Array length Multi-dimensional array 2 What is an Array?
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationCOM S 211/ENGRD 211 May 15, 2003
COM S 211/ENGRD 211 May 15, 2003 Final Exam 3:00 PM 5:30 PM Information: Name (clearly print last, first, middle): Net ID: CU ID: I have followed the rules of academic integrity on this exam (sign): Instructions:
More informationCOP 1220 Introduction to Programming in C++ Course Justification
Course Justification This course is a required first programming C++ course in the following degrees: Associate of Arts in Computer Science, Associate in Science: Computer Programming and Analysis; Game
More informationSymbol Tables 1 / 15
Symbol Tables 1 / 15 Outline 1 What is a Symbol Table? 2 API 3 Sample Clients 4 Implementations 5 Performance Characteristics 2 / 15 What is a Symbol Table? A symbol table is a data structure for key-value
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 informationSolutions Manual. Data Structures and Algorithms in Java, 5th edition International Student Version. M. T. Goodrich and R.
Solutions Manual Data Structures and Algorithms in Java, 5th edition International Student Version M. T. Goodrich and R. Tamassia Chapter 1 Reinforcement Solution R-1.1 Since, after the clone, A[4] and
More informationCollections (Java) Collections Framework
Collections (Java) https://docs.oracle.com/javase/tutorial/collections/index.html Collection an object that groups multiple elements into a single unit. o store o retrieve o manipulate o communicate o
More informationAggregation. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.
Aggregation Thursday, July 6 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider Aggregation Overview / Introduction The aggregate s constructor
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 informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationArrays organize each data element as sequential memory cells each accessed by an index. data data data data data data data data
1 JAVA PROGRAMMERS GUIDE LESSON 1 File: JGuiGuideL1.doc Date Started: July 10, 2000 Last Update: Jan 2, 2002 Status: proof DICTIONARIES, MAPS AND COLLECTIONS We have classes for Sets, Lists and Maps and
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 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 informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More informationNEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department
NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST1201 Programming Fundamentals (2 class hours, 2 lab hours, 3 credits) Course Description: This course is an intensive
More informationImplements vs. Extends When Defining a Class
Implements vs. Extends When Defining a Class implements: Keyword followed by the name of an INTERFACE Interfaces only have method PROTOTYPES You CANNOT create on object of an interface type extends: Keyword
More informationObject 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 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 information