Collections. Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations
|
|
- Raymond Potter
- 5 years ago
- Views:
Transcription
1 References: Beginning Java Objects, Jacquie Barker; The Java Programming Language, Ken Arnold and James Gosling; IT350 Internet lectures 9/16/ Collections Collection types Collection wrappers Composite classes revisited Collection classes Hashtables Enumerations 9/16/ 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/16/
2 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/16/ Collections - Arrays Arrays are declared in Java like this: int [ ] x; for C/C++ programmers, Java also recognizes this syntax: int x[ ]; Arrays are instantiated like dynamic arrays in C++ int [ ] x = new int[100]; Array objects are first-class objects, meaning that all operations in the super class Object are allowed on an array. 9/16/ Collections - Arrays What class are arrays objects of? The compiler creates an internal class that represents arrays of specific types. 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()); Output [LSomeClass; 9/16/
3 Collections - Arrays Java does not support multidimensional arrays, but you can construct an array of arrays. public class test { public static void main (String [] args) { 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 Output i=0 i=1 9/16/ Collections - Arrays N-dimensional arrays do not have to be square. public class test { public static void main (String [] args) { 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]; Output 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/16/ Collection Types Generic collection types besides arrays in Java are: 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/16/
4 Collection Types 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 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 9/16/ Collection Types 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/16/ Collection Types 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 9/16/
5 s234 sid s845 sid Eve 6789 Dictionary indexed by Student name Students attending CS191 Adam 4321 Bobby Dictionary indexed By Student number All Student Body records Ordered List Students waiting to attend CS291 9/16/ Based on diagram in Beginning Java Objects 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/16/ 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/16/
6 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/16/ 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/16/ Collection Wrapper - Client Code public class StudentEnrollmentDriver { public static void main (String [] args) { 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 (); Ask course for a handle on the collection of all registered students for (all Student objects in Collection ec) { Student s = ec.getnthstudent(i ); s.printgradereport(); 9/16/
7 Composite Classes Revisited A student can be 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/16/ 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/16/ 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/16/
8 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. 9/16/ Java Collection Classes: Hashtable Hashtable 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 Hashtable students = new Hashtable((); To create objects to be inserted: Object object = new Object(keyValue, Object) 9/16/ Java Collection Classes: Hashtable 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); Store student handles in hash table Student s = (Student) students.get( ); Retrieve reference for Eve Black. Must be cast to correct type. 9/16/
9 Hashtable Hashtableimplements 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/16/ Hashtable Hashtable 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 */ 9/16/ Constructors: Hashtable Hashtable(); //default initial capacity and load factor of 0.75 Hashtable(int initialcapacity); //capacity set to initcapacity;load factor 0.75 Hashtable(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/16/
10 Hashtable 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 ); 9/16/ For-loops vs Enumerations 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/16/ 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 Copy of object handles Made by Enumeration 9/16/
11 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 9/16/ Enumerations - With Vector 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); Enumeration e = coursestaken.elements(); while (e.hasmoreelements() ) { Course c = (Course) e.nextelement(); System.out.println(c); Create the vector and fill it with Course objects Create an Enumeration of the Vector objects Iterate through the table 9/16/ Enumerations - With Hashtable public class HashtableTest { public static void main (String [] args) { Hashtable students = new Hashtable(); Student s1 = new Student ( , Eve Black ); Student s2 = new Student( , Adam Brown ); Student s3 = new Student( , Bobby Green ); Output Eve Black Adam Brown Bobby Green students.put(s1.getssn(), s1); students.put(s2.getssn(), s2); students.put(s3.getssn(), s3); 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/16/
12 Enumerations - Hashtable 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/16/
Collections. Collections. Collections - Arrays. Collections - Arrays
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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationAbstract Classes. Abstract Classes a and Interfaces. Class Shape Hierarchy. Problem AND Requirements. Abstract Classes.
a and Interfaces Class Shape Hierarchy Consider the following class hierarchy Shape Circle Square Problem AND Requirements Suppose that in order to exploit polymorphism, we specify that 2-D objects must
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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationComputer Science II (20082) Week 1: Review and Inheritance
Computer Science II 4003-232-08 (20082) Week 1: Review and Inheritance Richard Zanibbi Rochester Institute of Technology Review of CS-I Syntax and Semantics of Formal (e.g. Programming) Languages Syntax
More informationGive one example where you might wish to use a three dimensional array
CS 110: INTRODUCTION TO COMPUTER SCIENCE SAMPLE TEST 3 TIME ALLOWED: 60 MINUTES Student s Name: MAXIMUM MARK 100 NOTE: Unless otherwise stated, the questions are with reference to the Java Programming
More information1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8
Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(
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 informationLecture 13 & 14. Single Dimensional Arrays. Dr. Martin O Connor CA166
Lecture 13 & 14 Single Dimensional Arrays Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Table of Contents Declaring and Instantiating Arrays Accessing Array Elements Writing Methods that Process
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 informationMidterm Exam CS 251, Intermediate Programming March 6, 2015
Midterm Exam CS 251, Intermediate Programming March 6, 2015 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible
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 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 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 informationJava 1.8 Programming
One Introduction to Java 2 Usage of Java 3 Structure of Java 4 Flexibility of Java Programming 5 Two Running Java in Dos 6 Using the DOS Window 7 DOS Operating System Commands 8 Compiling and Executing
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 informationAn array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type.
Data Structures Introduction An array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type. Representation of a large number of homogeneous
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 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 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 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 informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING QUESTION BANK B.E. - Electrical and Electronics Engineering IV SEMESTER CS6456 - OBJECT ORIENTED
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 informationJAVA MOCK TEST JAVA MOCK TEST II
http://www.tutorialspoint.com JAVA MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Java Framework. You can download these sample mock tests at your
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 informationCS 101 Spring 2006 Final Exam Name: ID:
This exam is open text book but closed-notes, closed-calculator, closed-neighbor, etc. Unlike the midterm exams, you have a full 3 hours to work on this exam. Please sign the honor pledge here: Page 1
More informationTopic 3 Encapsulation - Implementing Classes
Topic 3 Encapsulation - Implementing Classes And so, from Europe, we get things such as... object-oriented analysis and design (a clever way of breaking up software programming instructions and data into
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 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes
More informationContents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance
Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass
More informationHomework #10 due Monday, April 16, 10:00 PM
Homework #10 due Monday, April 16, 10:00 PM In this assignment, you will re-implement Dictionary as Map container class using the same data structure. A Map has an associated entry set and that set will
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 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+ 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 informationC# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh
C# Fundamentals Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 1 2018/19 H-W. Loidl (Heriot-Watt Univ) F20SC/F21SC 2018/19
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 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 information