[PDF] [PDF] Java Collections - Rose-Hulman

Structure “Grand Tour” Java Collections List examples of ADTs in the Collections framework (from HW2 #1) work on your current CSSE230 assignments



Previous PDF Next PDF





[PDF] the Java ColleCtions Framework - Department of Computer Science

In the fol- lowing sections, you will learn how a linked list manages its elements and how you can use linked lists in your programs 15 2 1 the structure of linked 



[PDF] Assignment 2

15 avr 2015 · Basic level of competency in the Java Collections Framework and the The homework assignments of this course are intended to help you 



[PDF] The Java Collections Framework

For this assignment you will write a program that reads its input from a text file and lists the words that occur most frequently, together with a count of how many  



[PDF] Java advanced examples and exercises - Beta vzw

We can filter streams, sort them, use a foreach operation on them, public static void main(String[] args) { Collection company = new ArrayList



[PDF] Using the Java Collections Hierarchy - AP Central - College Board

AP Computer Science: 2006–2007 Workshop Materials 15 Special Focus: Using the Java Collections Hierarchy The second part of the assignment requires 



[PDF] Generics and Collections

The Collections Framework in Java, which took shape with the release of Let's take a look at a code sample that exercises the binarySearch() method:



[PDF] jStanley: Placing a Green Thumb on Java Collections - GitHub Pages

ically finds collections in Java programs that can be replaced by others with a positive impact on the energy consumption as well as on the execution time



[PDF] Assignment 1: Writing, Changing, and Debugging a Java Program

You are free to use Vector, ArrayList, and other indexed collections discussed in class However, you cannot use a Java class that implements a table or map for 



Solutions to Exercises

JDK that makes it possible to run Java programs independently of whether or A collection is a group of objects that are stored in an instance of a class



[PDF] Java Collections - Rose-Hulman

Structure “Grand Tour” Java Collections List examples of ADTs in the Collections framework (from HW2 #1) work on your current CSSE230 assignments

[PDF] java awt book pdf

[PDF] java awt programs examples with output

[PDF] java basic examples for beginners

[PDF] java basic review.

[PDF] java bluej for ipad

[PDF] java both compiled interpreted language

[PDF] java built in functions list

[PDF] java call method from reflection

[PDF] java calling rest api

[PDF] java cast(object to class)

[PDF] java class libraries pdf

[PDF] java code conventions 2019 pdf

[PDF] java code examples

[PDF] java code to retrieve data from database

[PDF] java code to retrieve data from database and display in table

Abstract Data Types

Data Structure "Grand Tour"

Java Collections

Stacks and Queues

ŃIdeally, you have met with your partner to start ŃTry your best to work well together, even if you have different amounts of programming experience.

Suggestion: Let the weaker programmer do most of

the driving

Finish day 4 + quiz with instructor if needed.

Exam 1: next Tuesday, 7-9pm.

From question 3:

Suppose T

1 (N) is O(f(N)) and T 2 (N) is O(f(N)). Prove that T 1 (N) + T 2 (N) is O(f(N)) or give a counter- example.

ŃHint: Supposing T

1 (N) and T 2 (N) are O(f(N)), that means there exist constants c 1 , c 2 , n 1 , n 2 , such that.........

ŃHow can you use these constants?

What about the similar question for T

1 (N) - T 2 (N)?

ŃRemember, O isn't a tight bound.

explain what an Abstract Data Type (ADT) is

List examples of ADTs in the Collections

framework (from HW2 #1)

List examples of data structures that

implement the ADTs in the Collections framework

Choose an ADT and data structure to solve a

problem

Ń"What is this data, and how does it work?"

ŃPrimitive types (int, double): hardware-based

ŃObjects (such as java.math.BigInteger): require software interpretation

ŃComposite types (int[]): software + hardware

A mathematical model of a data type

Specifies:

ŃThe type of data stored (but not

how it's stored)

ŃThe operations supported

ŃArgument types and return types of these operations (but not how they are implemented)

Three basic operations:

ŃisEmpty

Ńpush

Ńpop

Derived operations include peek(a.k.a. top)

ŃHow could we write it in terms of the basic

operations? ŃWe could have peek be a basic operation instead.

ŃAdvantages of each approach?

Possible implementations:

ŃUse a linked list.

ŃUse a growable array.

ŃLast time, we talked about implementation details for each.

Specification

"what can it do?"

Implementation:

"How is it built?"

Application:

"how can you use it?"

CSSE220

CSSE230

List

ŃArray List

ŃLinked List

Stack Queue Set

ŃTree Set

ŃHash Set

ŃLinked Hash Set

Map

ŃTree Map

ŃHash Map

Priority Queue

Underlying data structures for many

Array Tree

Implementations for almost all

of these* are provided by the

Java Collections Framework in

the java.utilpackage. Reminder: Available, efficient, bug-free implementations of many key data structures

Most classes are in java.util

You started this in HW2

#1; Weiss Chapter 6 has more details

Size must be declared when the

array is constructed

Can look up or store items by index

Example:

nums[i+1] = nums[i] + 2;

How is this done?

D

A list is an indexed collection where elements

may be added anywhere, and any elements may be deleted or replaced.

Accessed by index

Implementations:

ŃArrayList

ŃLinkedList

Operations Provided ArrayList

EfficiencyLinkedList

Efficiency

Random access O(1) O(n)

Add/remove at end amortized O(1),

worst O(n)O(1)

Add/remove at

iterator locationO(n) O(1)

A0 A1 A2 A3 A4ArrayList

A last-in, first-out (LIFO)

data structure

Real-world stacks

ŃPlate dispensers in

the cafeteria

ŃPancakes!

Some uses:

ŃTracking paths through a maze

ŃProviding "unlimited undo" in an application

java.util.Stack uses LinkedList implementation

Operations

ProvidedEfficiency

Push item O(1)

Pop item O(1)

Implemented by

Stack, LinkedList,

and ArrayDequein Java first-in, first-out (FIFO) data structure

Real-world queues

ŃWaiting line at

the BMV

ŃCharacter on Star Trek TNG

Some uses:

ŃScheduling access to shared resource (e.g., printer)

Operations

ProvidedEfficiency

Enqueue item O(1)

Dequeue item O(1)

Implemented by

LinkedListand

ArrayDequein

Java

A collection of items without duplicates (in

general, order does not matter)

ŃIf aand bare both in set, then !a.equals(b)

Real-world sets:

ŃStudents

ŃCollectibles

One possible use:

ŃQuickly checking if an

item is in a collection

Operations HashSet TreeSet

Add/remove item amort. O(1),

worst O(n)O(log n)

Contains? O(1) O(log n)

Sorts items!

Example from 220

Associate keyswith values

Real-world "maps"

ŃDictionary

ŃPhone book

Some uses:

ŃAssociating student ID with transcript

ŃAssociating name with high scores

Operations HashMap TreeMap

Insert key-value pair amort. O(1),

worst O(n)O(log n)

Look up the value

associated with a given keyO(1) O(log n)

Sorts items by key!

How is a TreeMap like a TreeSet?

How is it different?

Each itemstored has anassociated priority

ŃOnly item with "minimum" priority is accessible

ŃOperations: insert, findMin, deleteMin

Real-world "priority queue":

ŃAirport ticketing counter

Some uses

ŃSimulations

ŃScheduling in an OS

ŃHuffman coding

Not like regular

queues!

Operations

ProvidedEfficiency

Insert/

Delete Minamort. O(log n),

worst O(n)

Find Min O(1)

Assumes a binary heap

implementation.

The version in Warm Up

and Stretching isn't this efficient.

Collection of nodes

ŃOne specialized node is the root.

ŃA node has one parent (unless it is the root)

ŃA node has zero or more children.

Real-world "trees":

ŃOrganizational hierarchies

ŃSome family trees

Some uses:

ŃDirectory structure

on a hard drive

ŃSorted collections

Operations

ProvidedEfficiency

Find O(log n)

Add/remove O(log n)

Only if tree is

"balanced"

A collection of nodes and edges

ŃEach edge joins two nodes

ŃEdges can be directed or undirected

Real-world "graph":

ŃRoad map

Some uses:

ŃTracking links between web pages

ŃFacebook

Operations

ProvidedEfficiency

Find O(n)

Add/remove O(1) or O(n) or O(n

2

Depends on

implementation (time/space trade off)

Graph whose edges have numeric labels

Examples (labels):

ŃRoad map (mileage)

ŃAirline's flight map (flying time)

ŃPlumbing system (gallons per minute)

ŃComputer network (bits/second)

Famous problems:

ŃShortest path

ŃMaximum flow

ŃMinimal spanning tree

ŃTraveling salesman

ŃFour-coloring problem for planar graphs

Array List

ŃArray List

ŃLinked List

Stack Queue Set

ŃTree Set

ŃHash Set

Map

ŃTree Map

ŃHash Map

Priority Queue

Tree Graph

We'll implement and use nearly

all of these, some multiple ways.

And a few other data structures.

Structure find insert/remove Comments

Array O(n) can't do it

Constant-time access by position

Stack top only

O(1)top only

O(1)Easy to implement as an array.

Queue front only

O(1)O(1)

insert rear, remove front.

ArrayList O(N)

O(log N) if

sortedO(N) Constant-time access by positionAdd at end: am. O(1), worst O(N)

Linked List O(N) O(1)

O(N) to find insertion position.

HashSet/Map O(1) amort. O(1),

worst O(N)Not traversable in sorted order

TreeSet/Map O(log N) O(log N)

Traversable in sorted order

PriorityQueue O(1) O(log N)

Can only find/remove smallest

Search Tree O(log N) O(log N)

If tree is balanced, O(N) otherwise

*Some of these are amortized, not worst-case.quotesdbs_dbs9.pdfusesText_15