The Java Collections Framework and Lists in Java Parts 1 & 2
|
|
- Audra Skinner
- 6 years ago
- Views:
Transcription
1 The Java Collections Framework and Lists in Java Parts 1 & 2 Chapter 9 Chapter 6 ( ) CS 2334 University of Oklahoma Brian F. Veale
2 Groups of Data Data are very important to Software Engineering Data is a plural word The concept of groups of objects is natural Storage or Manipulation of groups of objects is a very common development task. You will spend a lot of time working with groups of data in software development Many of the problems in Computer Science deal with manipulating large groups of data Page 2
3 Arrays If you ve taken a programming class, you ve used an array Arrays allow us to put similar data in a cohesive unit Implementation dependent myclass :Student :Student :Student :Student :Student Page 3
4 The Java Collections Framework The Java Collections Framework (JCF) includes many ways to manipulate groups of data Library of classes, objects, and methods for grouping data Also designed as a framework Skeletal support for something being constructed The JCF is designed to be systematically extended and reused Page 4
5 JCF Collections The most general object in the JCF is the Collection interface A group of generic Object elements Most of the collection interfaces work on Objects Type casting is common when using Collections Java removes a lot of the need for casting through the use of generics. instanceof operator ClassCastException Page 5
6 Page 6 Required Methods in Collection boolean contains(object target) - Returns true if target is one of the Objects stored in the Collection. boolean containsall(collection c) - Returns true if every element in Collection c is also one of the Objects stored in the Collection, and false otherwise. boolean isempty() Iterator iterator() - Used to list the Contents of the Collection in order. Object[] toarray() Object[] toarray(object[] typearray) - Returns an array containing the elements in this Collection whose type (not contents) comes from the type of elements in typearray. int size()
7 Page 7 Optional Methods in Collection boolean add(object element) boolean addall(collection objs) - Add all the elements from Collection objs to this Collection. boolean clear() boolean remove(object target) boolean removeall(collection c) - Remove all the elements in Collection c from this Collection. boolean retainall(collection c) -Remove all the elements in this Collection, except for those that are in Collection c.
8 The Collection Interface in Action Demo: CollectionDemo.java Page 8
9 Person and Student Design <<interface>> Comparable +compareto( obj: Object ): int -name: String -id: String -em ail: String Person +Person(pName: String, pid: String): void +getname(): String +getid(): String +get (): String +set (address: String): void + getstatus():int <<interface>> Cloneable Page 9 <<interface>> Serializable -hours: int -gpa: float Student +Student(pName: String, pidl String, phours: int, pg P A : float): void +gethours(): int +getgpa(): float +sethours(phours: int): void +setgpa(pgpa: float): void
10 Collections Classes that provide useful methods for manipulating objects that implement Collection Cannot be instantiated Not because it is an interface It has no public constructor, only static methods Similar to the Math class. Page 10
11 Useful methods from Collections Object min( Collection c ) Returns the smallest element in Collection c Object max( Collection c ) Returns the largest element in Collection c The classes of the objects contained in the Collection c must implement comparable Otherwise our friend ClassCastException will be thrown Page 11
12 Collections in Action Demo: CollectionSort.java Notice use of casting... In Java 1.4.* and earlier you must cast the String back into a String (as shown). For this code to compile without warnings you must use the following compilation command Javac -source 1.4 CollectionSort.java Page 12
13 Lists Lists are a common way to store data Grocery Lists Class Rosters Lists are more than a collection What does a list imply? What do we do to lists that we don't do to collections? Page 13
14 The List ADT Page 14 Lists are one of the most common ADTs Linear Elements are stored in a fixed order Collection by itself doesn't guarantee any type of ordering A collection can be unsorted or sorted in some order Alphabetically By size By date Etc. List is a interface ArrayList, LinkedList, etc. each implement List
15 Definitions: Ordered and Sorted A Collection is ordered if the elements are in a predictable sequence. A Collection is sorted if the elements are ordered according to some criterion like Strings being ordered alphabetically Page 15
16 Adding to a List Collection methods become more specific when included in a List ADT. add( Object element ) in Collection Says nothing about where the object is added, only that it is added. We will add an object to the end of a list Intuitive way to add to a list. Helps increase the efficiency of adding. We don't have to traverse the list to figure out where to add the element. Page 16
17 Adding to a List: Example Alex Freddie Brian Bob Cali Sammy add( Kristina ) Alex Freddie Brian Bob Cali Sammy Kristina Page 17
18 Removing from a List Page 18 Collection just guarantees that one copy of the object will be removed from the list Which copy to remove from a List should be clear. First? Last? Middle? Somewhat arbitrarily, we remove the first occurrence. These type of decisions should be very clear in the documentation for the ADT.
19 Removing from a List: Example Alex Cali Freddie Brian Bob Cali Sammy remove( Cali ) Alex Freddie Brian Bob Cali Sammy Page 19
20 Another way to add to a List Many of the Collection class methods are modified by List Some methods needed to support a List cannot be implemented in Collection void add( int index, Object element ) What about the element currently in that position? Will it be replaced? Will it be shifted by one position? To the left (up)? To the right (down)? Page 20
21 Indexed Adding to a List: Example Page 21 Alex Freddie Brian Bob Cali Sammy add( 2, Katrina ) replacing shifting Alex Freddie Katrina Bob Cali Sammy Alex Freddie Katrina Brian Bob Cali Sammy
22 Adding a Collection to a Collection List also supports adding an entire collection to the current collection addall( Collection c ) Can we just call add( Collection c )? This would add that the entire Collection as one object. This is not what you might expect. Page 22
23 Adding a Collection the wrong way Alex Freddie Brian Bob Cali Sammy Sue c James add( Collection c ) Carl Alex Freddie Brian Bob Cali Sammy James Sue Carl Page 23
24 Adding a Collection the right way Alex Freddie Brian Bob Cali Sammy c James addall( Collection c ) Carl Alex Freddie Brian Bob Cali Sammy James Sue Carl Sue Page 24
25 Replacing an element in the List We also want to be able to replace one element with another element This method follows the Java convention of set as a mutator It changes the contents of the List set( 2, Jenny ) Page 25
26 Replacing an element in a List: Example Alex Freddie Brian Bob Cali Sammy set( 2, Jenny ) Alex Freddie Jenny Bob Cali Sammy Page 26
27 List methods (only those changed or added to Collection): boolean add(object element) - Add element to the end of this List. boolean addall(collection objs) - Add all the elements from Collection objs to end of this List. void add(int index, Object element) - Add an element to the given index location. Shift the other elements down. void addall(int index, Collection objs) - Insert all the elements from Collection objs to starting at the indexed value. Shift elements down to make room. Object get(int index) ListIterator listiterator() - Returns a listiterator for this Collection Object set(int index, Object element) int indexof(object obj) int lastindexof(object obj) Page 27
28 List Demo ListDemo.java Notice what happens when we use addall() instead of add() on lines Page 28
29 Accessing the Elements in a Collection Programmers often want to traverse collections sequentially. Iterator an object that allows us to move in order through a collection from one element to another Iterators make this process uniform. It knows the details of the Collection Not us Order in which the iterator moves through a collection is dependent on the type of collection being operated on Page 29
30 The iterator() method in Collection The Collection interface defines a method with the signature: Iterator iterator() It returns an iterator for it's backing collection This is the collection that the iterator is connected to. All iterators implement at least three methods... Page 30
31 Iterator methods boolean hasnext() This method returns true if the iterator has more items. Obvious use: sentry value for while loops using iterator Object next() Returns the next item in the sequence and advances to the next position. Throws an exception if there is not a next position. void remove() Removes the object from the list that was last returned by next(). Not supported by all type of iterators. Throws exception if last operation was not next(). Page 31
32 The ListIterator Page 32 Lists can use a list iterator in addition to a regular Iterator ListIterator contain extra functionality because Lists are ordered Two methods exist in List to return a new ListIterator ListIterator listiterator() Returns a ListIterator object for the entire List ListIterator listiterator(int index) Returns a ListIterator that will return the element at position index first.
33 Methods that ListIterator adds to Iterator Page 33 boolean hasprevious() Returns true if the List has an element before the current one. int nextindex() Returns the index of the next element in the List Object previous() Returns the elements in the List before the current element. int previousindex() Returns the index of the previous element in the List
34 remove(), add(), and set() in ListIterator remove() ListIterator overrides the remove() method of Iterator remove() removes the object from the list that was last returned by next() or previous(). add() Inserts the new element into the list before/after the next element that would be returned by next()/previous(), respectively. set() Replaces the last element returned by next() or previous() Page 34
35 ListIterator example: ListIteratorDemo.java Page 35
36 Iterator or ListIterator? Page 36 Both can be used with a List Only Iterator can be used for a Collection Which to use depends on your needs Do you need the more specific ListIterator methods? If not necessary or useful, don t use a ListIterator. In general, don t use a more complex class if a simpler one will suffice.
37 The Collections class and Lists Collections class has many useful Listoriented methods Only make sense with List objects These methods deal with ordered and/or sorted Lists Since Collection does not imply an order, the methods aren t useful Page 37
38 Collections.sort() Page 38 The Collections class can sort a List based on its natural ordering The natural ordering is the one implemented in the compareto() method in your object. Must implement Comparable to use. Incredibly useful method Required for using some other Collections methods like binarysearch() Signature: Collections.sort(List list) Sorts the List list according to the order imposed by the compareto() method of the objects stored in the list.
39 Collections.binarySearch() Binary searches are much more efficient than linear ones Don t need to go through all the elements of a List to find our target Faster on some types of lists than others Page 39
40 Collections.binarySearch() Signature: int Collections.binarySearch(List list, Object key) Returns the index of the key if key is found in the list Returns (-(insertion point) - 1) if the key is not found in the List Insertion point is the index of where the key would be inserted if it was in the List Return (-(insertion point) - 1) to ensure that we only get a positive return value if the key is found in the List Page 40
41 Collections.sort() and Collections.binarySearch() Demo ListSortAndSearch.java Page 41
42 Programming with Lists We have been using ArrayList to implement a collection as a List ArrayList is not the only class that implements the List interface ArrayList LinkedList Vector Page 42
43 Implementation of ArrayList myclass Size is 3 Capacity is 5 :Student :Student :Student Page 43
44 Advantages of the ArrayList Implementation Random Access Suppose each object reference takes up one memory location If the reference to element at index 32 is stored at address 421, the reference to element at index 33 is stored at address 422. If array element 0 is stored at address 212, element 5 is stored at = 217 and element 50 is stored at = 262. Arrays have random access because you can navigate to any index position. In arrays this navigation can be done with only one operation! Page 44
45 Disadvantages of the ArrayList Implementation Array data must stored in contiguous memory. If we need to expand an array, we don t know if we ll have room adjacent to it in memory. To expand the array, it must be copied into a new larger array. This is extremely costly. Page 45
46 add(int index, Object element) Page 46 This is an expensive operation. The shifted data must be copied to a higher index in the array. If the data is added to the the front of the List, all of the data in the List must be shifted. Imagine doing this for a List with 5000 elements. If the array is at max capacity before the add, the data must also be relocated. Removing element from the Array can also be costly for the same reasons.
47 The other option: LinkedList Linked lists don t allocate memory all at once like an Array list. It is done incrementally, as needed. myclass null :Student :Student :Student Page 47
48 Disadvantages of LinkedList Cannot use simple addition to figure out address of certain element. We must go through the List sequentially to find an element i.e. to get to the element at index 4, we must first go to element 0, then 1, then 2, then 3, and then 4 Imagine this for a million element list. Access to a List element can be much slower than an Array element. Why would we ever want to use this implementation? Page 48
49 Advantages of LinkedList Adding an element to a position other than the end of the List can be much more efficient. Also true with removing elements Contains a few extra methods Which you should use will depend on what you want to do with the List. Page 49
50 How to Use LinkedList Declare the list like we declare an ArrayList List arraylist = new ArrayList(); List linkedlist = new LinkedList(); Page 50
51 Converting Code from ArrayList to LinkedList Page 51 If you declared the ArrayList as shown on the previous slide, just replace new ArrayList() with new LinkedList() If you declared the list as follows, then: Arraylist arraylist = new ArrayList(); Method calls that are specific to ArrayList will become invalid. Unless you need to use a specific method from ArrayList or LinkedList you should always declare the list as shown on the previous slide. In a similar fashion you can convert code that uses LinkedList to use ArrayList
52 Sample Exercises Chapter 9 Exercises 10, 12, 13 Page 52
CONTAİNERS COLLECTİONS
CONTAİNERS Some programs create too many objects and deal with them. In such a program, it is not feasible to declare a separate variable to hold reference to each of these objects. The proper way of keeping
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 informationWhat is the Java Collections Framework?
1 of 13 What is the Java Collections Framework? To begin with, what is a collection?. I have a collection of comic books. In that collection, I have Tarzan comics, Phantom comics, Superman comics and several
More information9/16/2010 CS Ananda Gunawardena
CS 15-121 Ananda Gunawardena A collection (sometimes called a container) is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve and manipulate data,
More informationCS Ananda Gunawardena
CS 15-121 Ananda Gunawardena A collection (sometimes called a container) is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve and manipulate data,
More informationGeneric classes & the Java Collections Framework. *Really* Reusable Code
Generic classes & the Java Collections Framework *Really* Reusable Code First, a bit of history Since Java version 5.0, Java has borrowed a page from C++ and offers a template mechanism, allowing programmers
More 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 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 informationCSC 1214: Object-Oriented Programming
CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:
More informationGeneric Programming. *Really* reusable code
Generic Programming *Really* reusable code First, a bit of history Since Java version 5.0, Java has borrowed a page from C++ and offers a template mechanism, allowing programmers to create data structures
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 informationGenerics Collection Framework
Generics Collection Framework Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Generics
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 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 informationImplementing a List in Java. CSE 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List.
Implementing a List in Java CSE 143 Java List Implementation Using Arrays Reading: Ch. 22 Two implementation approaches are most commonly used for simple lists: Arrays Linked list Java Interface List concrete
More informationClass 32: The Java Collections Framework
Introduction to Computation and Problem Solving Class 32: The Java Collections Framework Prof. Steven R. Lerman and Dr. V. Judson Harward Goals To introduce you to the data structure classes that come
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 informationTaking Stock. IE170: Algorithms in Systems Engineering: Lecture 7. (A subset of) the Collections Interface. The Java Collections Interfaces
Taking Stock IE170: Algorithms in Systems Engineering: Lecture 7 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University January 29, 2007 Last Time Practice Some Sorting Algs
More informationVector (Java 2 Platform SE 5.0) Overview Package Class Use Tree Deprecated Index Help
Overview Package Class Use Tree Deprecated Index Help PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes SUMMARY: NESTED FIELD CONSTR METHOD DETAIL: FIELD CONSTR METHOD Página 1 de 30 Java TM 2 Platform
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 informationEECS 2011 M: Fundamentals of Data Structures
EECS 2011 M: Fundamentals of Data Structures Suprakash Datta Office: LAS 3043 Course page: http://www.eecs.yorku.ca/course/2011m Also on Moodle S. Datta (York Univ.) EECS 2011 W18 1 / 19 Iterators and
More informationAbstract 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 information엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University
엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University C O P Y R I G H T S 2 0 1 5 E O M, H Y E O N S A N G A L L R I G H T S R E S E R V E D - Containers - About Containers
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 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 informationOutline. runtime of programs algorithm efficiency Big-O notation List interface Array lists
Outline runtime of programs algorithm efficiency Big-O notation List interface Array lists Runtime of Programs compare the following two program fragments: int result = 1; int result = 1; for (int i=2;
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 14 Array Wrap-Up Outline Problem: How can I store information in arrays without complicated array management? The Java language supports ArrayLists
More informationSSJ User s Guide. Package simevents Simulation Clock and Event List Management
SSJ User s Guide Package simevents Simulation Clock and Event List Management Version: December 21, 2006 This package provides the simulation clock and tools to manage the future events list. These are
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 informationEXAMINATIONS 2016 TRIMESTER 2
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2016 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
More informationboolean add(object o) Method Description (from docs API ) Method Description (from docs API )
Interface Collection Method Description (from docs API ) boolean add(object o) boolean addall(collection c) void clear() ensures that this collection contains the specified element adds all of the elements
More informationComputer Science II (Spring )
Computer Science II 4003-232-01 (Spring 2007-2008) Week 5: Generics, Java Collection Framework Richard Zanibbi Rochester Institute of Technology Generic Types in Java (Ch. 21 in Liang) What are Generic
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 informationData Structures and Algorithms
Data Structures and Algorithms CS245-2015S-05 Abstract Data Types and Lists David Galles Department of Computer Science University of San Francisco 05-0: Abstract Data Types Recall that an Abstract Data
More informationReview: List Implementations. CSE 143 Java. Links. A Different Strategy: Lists via Links. Linked Links. CSE143 Au List
Review: Implementations CSE 143 Java ed s Reading: Ch. 23 The external interface is already defined Implementation goal: implement methods efficiently Array approach: use an array with extra space internally
More informationCS S-05 Abstract Data Types and Lists 1
CS245-2016S-05 Abstract Data Types and Lists 1 05-0: Abstract Data Types Recall that an Abstract Data Type is a definition of a type based on the operations that can be performed on it. An ADT is an interface
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 informationOutline. iterator review iterator implementation the Java foreach statement testing
Outline iterator review iterator implementation the Java foreach statement testing review: Iterator methods a Java iterator only provides two or three operations: E next(), which returns the next element,
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 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 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 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 informationCollections (Collection Framework) Sang Shin Java Technology Architect Sun Microsystems, Inc.
Collections (Collection Framework) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com 2 Disclaimer & Acknowledgments Even though Sang Shin is a full-time employee
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 informationImplementing a List in Java. CSC 143 Java. List Interface (review) Just an Illusion? Using an Array to Implement a List CSC
Implementing a List in Java CSC 143 Java List Implementation Using Arrays Updated with Java 5.0 Generics Reading: Ch. 13 Two implementation approaches are most commonly used for simple lists: Arrays Linked
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Up to here Not included in program Java collections framework prebuilt data structures interfaces and methods for manipulating
More informationImportant Dates. Game State and Tree. Today s topics. Game Tree and Mini-Max. Games and Mini-Max 3/20/14
MINI-MAX USING TREES AND THE JAVA COLLECTIONS FRAMEWORK Lecture 16 CS2110 Spring 2014 2 Important Dates. April 10 --- A4 due (Connect 4, minimax, trees) April 15 --- A5 due (Exercises on different topics,
More informationCS2110: Software Development Methods. Maps and Sets in Java
CS2110: Software Development Methods Maps and Sets in Java These slides are to help with the lab, Finding Your Way with Maps Today s lab uses Maps (and Sets but just a little). Readings from textbook:
More 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 informationCOMP200 GENERICS. OOP using Java, from slides by Shayan Javed
1 1 COMP200 GENERICS OOP using Java, from slides by Shayan Javed 2 ArrayList and Java Generics 3 Collection A container object that groups multiple objects 4 Collection A container object that groups multiple
More informationAbstract Data Types and Data Structures
Unit 6, Part 1 Abstract Data Types and Data Structures Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Congrats on completing the first half! In the second half, we will study fundamental
More informationIntroduction to Linked Lists
Introduction to Linked Lists In your previous programming course, you organized and processed data items sequentially using an array (or possibly an arraylist, or a vector). You probably performed several
More informationThe Java Collections Framework. Chapters 7.5
The Java s Framework Chapters 7.5 Outline Introduction to the Java s Framework Iterators Interfaces, Classes and Classes of the Java s Framework Outline Introduction to the Java s Framework Iterators Interfaces,
More informationList ADT. Announcements. The List interface. Implementing the List ADT
Announcements Tutoring schedule revised Today s topic: ArrayList implementation Reading: Section 7.2 Break around 11:45am List ADT A list is defined as a finite ordered sequence of data items known as
More informationProgrammieren II. Collections. Alexander Fraser. May 28, (Based on material from T. Bögel)
Programmieren II Collections Alexander Fraser fraser@cl.uni-heidelberg.de (Based on material from T. Bögel) May 28, 2014 1 / 46 Outline 1 Recap Paths and Files Exceptions 2 Collections Collection Interfaces
More informationInterfaces, collections and comparisons
תכנות מונחה עצמים תרגול מספר 4 Interfaces, collections and comparisons Interfaces Overview Overview O Interface defines behavior. Overview O Interface defines behavior. O The interface includes: O Name
More 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 informationIntroduction to Collections
Module 3 COLLECTIONS Introduction to Collections > A collection sometimes called a container is simply an object that groups multiple elements into a single unit. > Collections are used to store, retrieve,
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 informationCS11 Java. Winter Lecture 8
CS11 Java Winter 2010-2011 Lecture 8 Java Collections Very powerful set of classes for managing collections of objects Introduced in Java 1.2 Provides: Interfaces specifying different kinds of collections
More informationTha Java Programming Language
Tha Java Programming Language Kozsik Tamás (2000-2001) kto@elte.hu http://www.elte.hu/~k to/ III. Arrays, collections and other baseclasses Some of the baseclasses Object String StringBuffer Integer, Double,...
More informationQuestion 0. (1 point) Write the correct ID of the section you normally attend on the cover page of this exam if you have not already done so.
CSE 143 Sp04 Midterm 2 Page 1 of 10 Reference information about some standard Java library classes appears on the last pages of the test. You can tear off these pages for easier reference during the exam
More informationArrayList. Introduction. java.util.arraylist
ArrayList Introduction In this article from my free Java 8 course, I will be giving you a basic overview of the Java class java.util.arraylist. I will first explain the meaning of size and capacity of
More informationEXAMINATIONS 2017 TRIMESTER 2
T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2017 TRIMESTER 2 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
More 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 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 informationLecture 4. The Java Collections Framework
Lecture 4. The Java s Framework - 1 - Outline Introduction to the Java s Framework Iterators Interfaces, Classes and Classes of the Java s Framework - 2 - Learning Outcomes From this lecture you should
More informationEXAMINATIONS 2015 COMP103 INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
T E W H A R E W Ā N A N G A O T E Student ID:....................... Ū P O K O O T E I K A A M Ā U I VUW VICTORIA U N I V E R S I T Y O F W E L L I N G T O N EXAMINATIONS 2015 TRIMESTER 2 COMP103 INTRODUCTION
More 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 informationLinkedList Implementation Mini-project intro
LinkedList Implementation Mini-project intro Turn in your written problems Mini-project Partner Survey: Do it by 4:00 today Reminder: Exam #2 is this Thursday In order to reduce time pressure, you optionally
More informationSuper-Classes and sub-classes
Super-Classes and sub-classes Subclasses. Overriding Methods Subclass Constructors Inheritance Hierarchies Polymorphism Casting 1 Subclasses: Often you want to write a class that is a special case of an
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 informationProgramming II (CS300)
1 Programming II (CS300) Chapter 02: Using Objects MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Using Objects 2 Introduction to Object Oriented Programming Paradigm Objects and References Memory Management
More informationChapter 5 Java Collection. j a v a c o s q q. c o m X i a n g Z h a n g
Chapter 5 Java Collection j a v a c o s e @ q q. c o m X i a n g Z h a n g Content 2 Arrays Collection ArrayList LinkedList Map HashMap Iterator COSE Java Array Declaration and Assignment of an Array:
More informationJava Collections. Wrapper classes. Wrapper classes
Java Collections Engi- 5895 Hafez Seliem Wrapper classes Provide a mechanism to wrap primitive values in an object so that the primitives can be included in activities reserved for objects, like as being
More informationJava Collections. Engi Hafez Seliem
Java Collections Engi- 5895 Hafez Seliem Wrapper classes Provide a mechanism to wrap primitive values in an object so that the primitives can be included in activities reserved for objects, like as being
More informationFramework. Set of cooperating classes/interfaces. Example: Swing package is framework for problem domain of GUI programming
Frameworks 1 Framework Set of cooperating classes/interfaces Structure essential mechanisms of a problem domain Programmer can extend framework classes, creating new functionality Example: Swing package
More informationAdvanced Java Concepts Unit 2: Linked Lists.
Advanced Java Concepts Unit 2: Linked Lists. The List interface defines the structure of a linear collection. Here are some of its methods. boolean add( E element ) Appends the element to the end of the
More informationNAME: c. (true or false) The median is always stored at the root of a binary search tree.
EE 322C Spring 2009 (Chase) Exam 2: READ THIS FIRST. Please use the back side of each page for scratch paper. For some of the questions you may need to think quite a bit before you write down an answer.
More informationITI Introduction to Computing II
index.pdf March 17, 2013 1 ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of March 17, 2013 Definitions A List is a linear abstract
More informationPrelim 1. CS 2110, October 1, 2015, 5:30 PM Total Question Name True Short Testing Strings Recursion
Prelim 1 CS 2110, October 1, 2015, 5:30 PM 0 1 2 3 4 5 Total Question Name True Short Testing Strings Recursion False Answer Max 1 20 36 16 15 12 100 Score Grader The exam is closed book and closed notes.
More informationCSE 143 Au03 Midterm 2 Sample Solution Page 1 of 7
CSE 143 Au03 Midterm 2 Sample Solution Page 1 of 7 Question 1. (4 points) (a) If a precondition is not true when a method is called, two possible ways to detect and handle the situation are to use an assert
More informationLinked Lists. Chapter 12.3 in Savitch
Linked Lists Chapter 12.3 in Savitch Preliminaries n Arrays are not always the optimal data structure: q An array has fixed size needs to be copied to expand its capacity q Adding in the middle of an array
More informationObject-Oriented Programming in the Java language
Object-Oriented Programming in the Java language Part 6. Collections(1/2): Lists. Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Just before we start Generics Generics are a
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 07: Linked Lists MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Linked Lists 2 Introduction Linked List Abstract Data Type SinglyLinkedList ArrayList Keep in Mind Introduction:
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 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 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 informationCS 221 Review. Mason Vail
CS 221 Review Mason Vail Inheritance (1) Every class - except the Object class - directly inherits from one parent class. Object is the only class with no parent. If a class does not declare a parent using
More informationCSE 143. Computer Programming II
Adam Blank Lecture 15 Spring 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II More Interfaces & Iterators Today s Goals 1 We begin with ArrayIntList & LinkedIntList. Our goals are:
More informationJava Array List Interview Questions
Java Array List Interview Questions codespaghetti.com/arraylist-interview-questions/ Array List Java Array List Interview Questions, Algorithms and Array List Programs. Table of Contents: CHAPTER 1: Top
More informationWeek 16: More on Collections and Immutability
Week 16: More on Collections and Immutability Jack Hargreaves jxh576@cs.bham.ac.uk Febuary 9, 2012 1 Collections API Last week we looked at Collection, List, Set and Map the basic data type interfaces
More informationCSCI 200 Lab 3 Using and implementing sets
CSCI 200 Lab 3 Using and implementing sets In this lab, you will write a program that manages a set of workers, using the Worker hierarchy you developed in Lab 2. You will also implement your own version
More informationCSCI Lab 9 Implementing and Using a Binary Search Tree (BST)
CSCI Lab 9 Implementing and Using a Binary Search Tree (BST) Preliminaries In this lab you will implement a binary search tree and use it in the WorkerManager program from Lab 3. Start by copying this
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 07: Linked Lists and Iterators MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Linked Lists 2 Introduction Linked List Abstract Data Type General Implementation of the ListADT
More informationLesson 43.. ArrayList
Lesson 43.. ArrayList 43-1 You will recall from Lesson 42 the ArrayList is one of several classes that implement the List interface. As its name suggests, ArrayList also involves arrays. Basically, everything
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 informationList ADT. B/W Confirming Pages
wu3399_ch8.qxd //7 :37 Page 98 8 List ADT O b j e c t i v e s After you have read and studied this chapter, you should be able to Describe the key features of the List ADT. the List ADT using an array
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 information