Computer Science 210
Data Structures
Fall 2017, Siena College
ListInterfaceDemo BlueJ Project
Click here to download a BlueJ project for ListInterfaceDemo.
ListInterfaceDemo Source Code
The Java source code for ListInterfaceDemo is below. Click on a file name to download it.
/*
* Example ListInterfaceDemo: show some example of java.util.List
* objects in action, and how they can be interchanged.
*
* Jim Teresco, The College of Saint Rose, CSC 523, Summer 2014
*
*/
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
import java.util.Vector;
public class ListInterfaceDemo {
// a method to print some information about any List object's contents
public static void printListInfo(List<Integer> list) {
// as long as we use only List operations here, it doesn't matter
// what kind of List gets passed in
System.out.println("List of type " + list.getClass() + " contains " + list.size() + " elements.");
if (list.size() > 0) {
int min, max, sum;
Iterator<Integer> iter = list.iterator();
min = iter.next();
max = min;
sum = min;
while (iter.hasNext()) {
int x = iter.next();
if (x < min) min = x;
if (x > max) max = x;
sum += x;
}
System.out.println(" min = " + min + ", max = " + max + ", sum = " + sum + ".");
}
}
public static void main(String[] args) {
// we'll be putting in some random numbers...
Random r = new Random();
// let's build up a few list structures
List<Integer> arrayList = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
arrayList.add(r.nextInt(100));
}
List<Integer> vector = new Vector<Integer>();
for (int i = 0; i < 10; i++) {
vector.add(r.nextInt(100));
}
List<Integer> linkedList = new LinkedList<Integer>();
for (int i = 0; i < 10; i++) {
linkedList.add(r.nextInt(100));
}
// a second name for one of the above
List<Integer> altListName = arrayList;
// the List interface implements Iterable, so we can use foreach
System.out.print("Contents of arrayList:");
for (int x : arrayList) {
System.out.print(" " + x);
}
System.out.println();
// or we can get the Iterator directly and use it
System.out.print("Contents of vector:");
Iterator<Integer> iter = vector.iterator();
while (iter.hasNext()) {
System.out.print(" " + iter.next());
}
System.out.println();
// or use a for loop with get to grab each element
System.out.print("Contents of linkedList:");
for (int i = 0; i < linkedList.size(); i++) {
System.out.print(" " + linkedList.get(i));
}
System.out.println();
// or we can ask the List for its contents as an array, even
System.out.print("Contents of altListName:");
Object[] array = altListName.toArray();
for (int i = 0; i < array.length; i++) {
System.out.print(" " + array[i]);
}
System.out.println();
// print out some information about each using a method defined above
printListInfo(arrayList);
printListInfo(vector);
printListInfo(linkedList);
}
}