﻿<?xml-stylesheet type="text/xsl" href="../../../templates/doc.xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html 
	xmlns="http://www.w3.org/1999/xhtml" 
	xmlns:doc="http://www.lepus.org.uk/doc" 
	xmlns:classz="http://www.lepus.org.uk/classz" 
	xmlns:fopl="http://www.lepus.org.uk/fopl" 
	xml:lang="EN-GB" 
	xmlns:v="urn:schemas-microsoft-com:vml" 
	xmlns:o="urn:schemas-microsoft-com:office:office">

<head>
	<link rel="stylesheet" type="text/css" href="../../../templates/doc.css" />
	<title>JFC 1.4 Collections and Iterators in LePSU3</title>
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<meta name="Author" content="Amnon H Eden" />
</head>


<body>


<h5><a href="../../">Sample specifications in LePUS3 and Class-Z:</a></h5>

<p class="pagetitle">Collections and Iterators in <code>java.util</code></p>
<p class="subtitle">From Java SDK 1.4</p>

<div class="abstract">

	<p>This page demonstrates how object-oriented design statements can be made 
		in <a href="http://lepus.org.uk/">LePUS3 and/or Class-Z</a> to model 
	some of the collection and iterator classes in package <code>java.util</code> 
	in the core Java SDK 1.4).</p>
</div>

<h3>Links</h3>
	
<div class="abstract">
	<ul>
		<li><a href="http://www.lepus.org.uk/ref/companion/Iterator.xml">The Iterator design pattern</a></li>
		<li><a href="../../../ref/legend/legend.xml">Legend: Key to LePUS3 and Class-Z Symbols</a></li>
		<li><a href="../../../ref/refman/refman.xml">LePUS3 &amp; Class-Z Reference Manual</a></li>
	</ul>
	
</div>

<h1>The specifications</h1>

<p>All charts below model the same set of classes. They reveal in increasing 
	detail the individual collection classes and the factory methods which 
produce the iterator of the appropriate instance.</p>
<h2>Collection and Iterator classes</h2>
<p>The most abstract chart represents the set of classes in the specification.</p>

	
<table class="chartandschema">
<tr>
	<td><img class="chart" alt="" src="coll-iter-all.gif" style="width: 126px; height: 82px" /></td>
</tr>
<tr>
	<th>Some collection and iterator classes in <code>java.util</code> <br />
	modelled using one 1-dimensional class constant (<a href="../../../ref/legend/legend.xml">legend</a>)</th>
</tr>
</table>

<h2>Collection Classes, Iterator classes, and their methods</h2>

<p>The following three methods reveal in decreasing level of abstraction the 
	individual classes and methods in this set and the specific relations amongst 
	them.</p>


<table class="chartandschema">
<tr>
	<td><img class="chart"  alt="" src="coll-iter-hie.gif" /></td>
</tr>
<tr>
	<th>Some collection and iterator classes in <code>java.util</code> <br />
	modelled using 1-dimensional hierarchy constants (<a href="../../../ref/legend/legend.xml">legend</a>)</th>
</tr>
</table>


<table class="chartandschema">
<tr>
	<td><img class="chart" alt="" src="coll-iter-1dim.gif" /></td>
</tr>
<tr>
	<th>Some collection and iterator classes in <code>java.util</code> <br />
	modelled using 0- and 1-dimensional constants (<a href="../../../ref/legend/legend.xml">legend</a>)</th>
</tr>
</table>

<table class="chartandschema">
<tr>
	<td><img class="chart" alt="" src="coll-iter-0dim.gif" />&nbsp;</td>
</tr>
<tr>
	<th>Some collection and iterator classes in <code>java.util</code> <br />
		modelled using 0-dimensional constants (see <a href="../../../ref/legend/legend.xml">legend</a>)</th>
</tr>
</table>




</body>
</html>

