Home Page for CS3 Class Examples

Collections:

Test file data

testFile.txt
Set UniqueWordHash.java
TreeSet UniqueWordsTree.java
Ordered Set UniqueWordsHashOrdered.java
Using Iterators UniqueWordsIter.java
Maps and Iterators UniqueWordsMap.java
Collection Algorithms:
Sort Algorithm SortExample.java
Array Sort Algorithm SortExampleArrays.java
Names Class Name.java
TestName class TestName.java
Inner Classes:

Nested Top-Level Classes

Linked Stack LinkedStack2.java
Enclosing Class EnclosingClass.java
Member Classes

A data structure

Class5.java
Multiple Member Classes TLClassA.java  and Client2.java
Local Classes

Enclosing Class Again

EnclosingClass2.java
Anonymous Classes

AWT Example

MainProg.java
Dogs Example with no Inner Classes Dog.java
DogByName.java
DogDirectory.java
Dogs Example with one Top-level Nested Class and one Anonymous class DogDirInner.java
Threads:

A Single thread that counts

CounterThread.java
An implementation of
Runnable 
DownCounter.java
Creating Multiple Threads Many.java
isAlive()  WorkerIsAlive.java
sleep() WorkSleep.java
A Timer Thread Timer.java
Yield() WorkerYeild.java
Join() WorkerJoin.java
Problems when you have multiple threads and no synchronization. Sync.java
Thread Synchronization:

Providing Synchronization with multiple threads.

Sync.java
Using Locks for Synchronization Locks1.java
Using Locks but there is no Synchronization Locks2.java
Using Locks for Synchronization Locks3.java
Using Locks but there is no Synchronization Locks4.java
Synchronizing access to a queue SyncQueue.java
Customer Class Customer.java
Cashier Interface Cashier.java
Cashier Class with no prioritization Cashier1.java
Cashier Class that processes Customers with < 10 items first Cashier2.java
Event Handling:

Creating a frame

SwingFrame.java
A frame with buttons SwingFrame1.java
Creating a Stop Watch StopWatch.java
The timer Display for the Stop Watch TimerLabel.java
A Simple Calculator Class Calculator.java
A GUI for the Calculator CalcGui.java
Swing Examples:

Sizing a JFrame

SwingFrame2.java
Using JLabels SwingFrame3.java
Using JButtons SwingButton.java
Flow Layout SwingFlowLayout.java
Grid Layout SwingGridLayout.java
Boarder Layout SwingBoarder.java
Gif file  surfing.gif
Complex Swing Component GUI with a basic Flow Layout

(Note: requires the TimerLabel.java class and surfing.gif)

SwingComponentExample.java
Complex Swing GUI with nice layout using multiple containers

(Note: requires the TimerLabel.java class and surfing.gif)

SwingContainerExample.java
Networking Examples:

Getting Host information

HostInfo.java
Resolving an address Resolver.java
Day Time Client  DayTimeClient.java
Day Time Server - Single Thread DayTimeServer.java
Connection for multiple threads Connection.java
Day Time Server - Multiple clients TDayTimeServer.java
UDP Echo Client UDPEchoClient.java
UDP Echo Server UDPEchoServer.java

Julie A. Adams
Rochester Institute of Technology
jaa@cs.rit.edu