import java.awt.Font; import java.io.File; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Random; import java.util.Scanner; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * * @author Bill Kraynek */ public class JavaLinkedListExample { /** * @param args the command line arguments */ public static void main(String[] args) { LinkedList stringList = new LinkedList(); try { Scanner fileScanner = new Scanner(new File("src/JavaLinkedListExample.java")); fileScanner.useDelimiter("[^a-zA-Z]+"); while (fileScanner.hasNext()) { String aWord = fileScanner.next(); Iterator itr = stringList.iterator(); boolean found = false; while ( itr.hasNext() ) { if (aWord.equals(itr.next())) { found = true; break; }// end if }// end while if ( !found ) { stringList.add(aWord); }// end if } // end while } catch (Exception e) { e.printStackTrace(); } // end try/catch String out = "\t" + display(stringList); JTextArea outArea = new JTextArea(25, 40); outArea.setFont(new Font(Font.MONOSPACED, Font.BOLD, 15)); outArea.setText(out); JOptionPane.showMessageDialog(null, new JScrollPane(outArea)); Random random = new Random(); LinkedList intList = new LinkedList(); for(int i = 0; i < 20; i++) { intList.add(random.nextInt(1000)); }// end for out = "\t" + display(intList); out += "\n\tSum of ints\n\t"+ sum(intList); outArea.setText(out); JOptionPane.showMessageDialog(null, new JScrollPane(outArea)); } static String display(List list) { String out = ""; for(T x : list) { out += x + "\n\t"; } return out; } static String display(Iterator itr) { if( !itr.hasNext() ) return ""; return itr.next() + "\n\t" + display(itr); } static int sum(List list) { return sum(list.iterator()); } static int sum(Iterator itr) { if( !itr.hasNext()) return 0; return itr.next() + sum(itr); } }