![]() | ![]() | ![]() | 4.9 Week 9 - Collections |
sets only one of each entry
list ordered list
ArrayList fast random access, more overhead than
LinkedList.
LinkedHashList Most overhead but accesses fast randomly
even with large and growing data structures.
TreeSet A sorted set. compairTo order.
map are associative arrays or Perl hashes. A sparse array
with out the requirements of a positive integer index.
IdentityHashMap use with extreme caution - or avoid
all together. Uses (k1==k2) Instead of
(k1==null ? k2==null : k1.equals(k2))
HashMap Fastest, cheapest, no order.
LinkedHashMap Insertion order.
TreeMap Sorted.
ArrayList1
/* Louis Taber PCC 3/5/2003 */
import java.util.*;
class ArrayList1
{
public static void main( String [] args)
{
String sentence = "Greed is never good";
List list = new ArrayList();
for( int i=0; i<sentence.length(); i++)
{
Character ch = new Character( sentence.charAt(i) ) ;
System.out.print(ch);
list.add(ch);
}
System.out.println("");
traverse(list);
traverse_r( (ArrayList)list);
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
Character ch = (Character)iter.next();
System.out.print(ch);
}
System.out.println("");
}
static void traverse_r( ArrayList lst )
{
ListIterator iter = lst.listIterator( lst.size() );
while( iter.hasPrevious())
{
Character ch = (Character)iter.previous();
System.out.print(ch);
}
System.out.println("");
}
}
Greed is never good Greed is never good doog reven si deerG
LinkedHashMap1
/* Louis Taber PCC 3/12/2003 */
/* Linked Hash Map demo program */
/* Guarantees traversal in insertion order */
import java.util.*;
class LinkedHashMap1
{
public static void main( String [] args)
{
System.out.println("Linked Hash Map demo program");
Character r_value;
String sentence = "Greed is never good";
LinkedHashMap list = new LinkedHashMap();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
String key = "" + (i%10);
Character value = new Character( sentence.charAt(i) ) ;
if( (r_value = (Character)list.put( key, value)) == null )
{
System.out.println("Added: " +
value + " With key " + key );
}
else
{
System.out.println("Replaced: " +
r_value + " with " + value);
}
}
System.out.println("");
traverse(list.keySet());
traverse(list.values());
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
System.out.print( iter.next() + " " );
}
System.out.println("");
}
}
Linked Hash Map demo program Greed is never good/n Added: G With key 0 Added: r With key 1 Added: e With key 2 Added: e With key 3 Added: d With key 4 Added: With key 5 Added: i With key 6 Added: s With key 7 Added: With key 8 Added: n With key 9 Replaced: G with e Replaced: r with v Replaced: e with e Replaced: e with r Replaced: d with Replaced: with g Replaced: i with o Replaced: s with o Replaced: with d 0 1 2 3 4 5 6 7 8 9 e v e r g o o d n
HashList1
/* Louis Taber PCC 3/12/2003 */
/* HashList demo program */
import java.util.*;
class HashList1
{
public static void main( String [] args)
{
String sentence = "Greed is never good";
Set list = new HashSet();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
Character ch = new Character( sentence.charAt(i) ) ;
if( list.add(ch) )
{
System.out.println("Added: " + ch);
}
else
{
System.out.println("Failed: " + ch);
}
}
System.out.println("");
traverse(list);
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
Character ch = (Character)iter.next();
System.out.print(ch);
}
System.out.println("");
}
}
Greed is never good/n Added: G Added: r Added: e Failed: e Added: d Added: Added: i Added: s Failed: Added: n Failed: e Added: v Failed: e Failed: r Failed: Added: g Added: o Failed: o Failed: d o dirngsGve
LinkedHashSet1
/* Louis Taber PCC 3/12/2003 */
/* Linked Hash Set demo program */
import java.util.*;
class LinkedHashSet1
{
public static void main( String [] args)
{
String sentence = "Greed is never good";
LinkedHashSet list = new LinkedHashSet();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
Character ch = new Character( sentence.charAt(i) ) ;
if( list.add(ch) )
{
System.out.println("Added: " + ch);
}
else
{
System.out.println("Failed: " + ch);
}
}
System.out.println("");
traverse(list);
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
Character ch = (Character)iter.next();
System.out.print(ch);
}
System.out.println("");
}
}
Greed is never good/n Added: G Added: r Added: e Failed: e Added: d Added: Added: i Added: s Failed: Added: n Failed: e Added: v Failed: e Failed: r Failed: Added: g Added: o Failed: o Failed: d Gred isnvgo
TreeMap1
/* Louis Taber PCC 3/12/2003 */
/* Tree Map demo program */
import java.util.*;
class TreeMap1
{
public static void main( String [] args)
{
Character r_value;
String sentence = "Greed is never good";
SortedMap list = new TreeMap();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
String key = "" + (i%10);
Character value = new Character( sentence.charAt(i) ) ;
if( (r_value = (Character)list.put( key, value)) == null )
{
System.out.println("Added: " + value + " With key " + key );
}
else
{
System.out.println("Replaced: " + r_value + " with " + value);
}
}
System.out.println("");
traverse(list.keySet());
traverse(list.values());
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
System.out.print( iter.next() + " " );
}
System.out.println("");
}
}
Greed is never good/n Added: G With key 0 Added: r With key 1 Added: e With key 2 Added: e With key 3 Added: d With key 4 Added: With key 5 Added: i With key 6 Added: s With key 7 Added: With key 8 Added: n With key 9 Replaced: G with e Replaced: r with v Replaced: e with e Replaced: e with r Replaced: d with Replaced: with g Replaced: i with o Replaced: s with o Replaced: with d 0 1 2 3 4 5 6 7 8 9 e v e r g o o d n
HashMap1
/* Louis Taber PCC 3/12/2003 */
/* Hash Map demo program */
import java.util.*;
class HashMap1
{
public static void main( String [] args)
{
Character r_value;
String sentence = "Greed is never good";
HashMap list = new HashMap();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
String key = "" + (i%10);
Character value = new Character( sentence.charAt(i) ) ;
if( (r_value = (Character)list.put( key, value)) == null )
{
System.out.println("Added: " + value + " With key " + key );
}
else
{
System.out.println("Replaced: " + r_value + " with " + value);
}
}
System.out.println("");
traverse(list.keySet());
traverse(list.values());
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
System.out.print( iter.next() + " " );
}
System.out.println("");
}
}
Greed is never good/n Added: G With key 0 Added: r With key 1 Added: e With key 2 Added: e With key 3 Added: d With key 4 Added: With key 5 Added: i With key 6 Added: s With key 7 Added: With key 8 Added: n With key 9 Replaced: G with e Replaced: r with v Replaced: e with e Replaced: e with r Replaced: d with Replaced: with g Replaced: i with o Replaced: s with o Replaced: with d 3 5 7 2 0 9 4 8 6 1 r g o e e n d o v
LinkedList2
/* Louis Taber PCC 3/5/2003 */
import java.util.*;
class LinkedList2
{
public static void main( String [] args)
{
String sentence = "Greed is never good";
List list = new LinkedList();
for( int i=0; i<sentence.length(); i++)
{
Character ch = new Character( sentence.charAt(i) ) ;
System.out.print(ch);
list.add(ch);
}
System.out.println("");
traverse(list);
traverse_r( (LinkedList)list);
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
Character ch = (Character)iter.next();
System.out.print(ch);
}
System.out.println("");
}
static void traverse_r( LinkedList lst )
{
ListIterator iter = lst.listIterator( lst.size() );
while( iter.hasPrevious())
{
Character ch = (Character)iter.previous();
System.out.print(ch);
}
System.out.println("");
}
}
Greed is never good Greed is never good doog reven si deerG
TreeSet1
/* Louis Taber PCC 3/12/2003 */
/* Tree Set demo program */
import java.util.*;
class TreeSet1
{
public static void main( String [] args)
{
String sentence = "Greed is never good";
SortedSet list = new TreeSet();
System.out.println( sentence + "/n" );
for( int i=0; i<sentence.length(); i++)
{
Character ch = new Character( sentence.charAt(i) ) ;
if( list.add(ch) )
{
System.out.println("Added: " + ch);
}
else
{
System.out.println("Failed: " + ch);
}
}
System.out.println("");
traverse(list);
System.exit(0);
}
/* From Java Precisely, Peter Sestoft */
static void traverse( Collection coll )
{
Iterator iter = coll.iterator();
while( iter.hasNext())
{
Character ch = (Character)iter.next();
System.out.print(ch);
}
System.out.println("");
}
}
Greed is never good/n Added: G Added: r Added: e Failed: e Added: d Added: Added: i Added: s Failed: Added: n Failed: e Added: v Failed: e Failed: r Failed: Added: g Added: o Failed: o Failed: d Gdeginorsv
Rewrite the "Arrays and Objects" lab using the Java LinkedList class.
String
Write a "phone book" program.
HashMap
This can be hard coded.
Please turn in a listing and an example program run.
![]() | ![]() | ![]() | 4.9 Week 9 - Collections |