001 import java.util.*; 002 import java.io.*; 003 import fi.jyu.mit.ohj2.*; 004 005 /** 006 * Esimerkki Javan vektorin käytöstä Java 1.5:n geneerisyyden 007 * ja "autoboxin" avulla. Käytössä myös uusi for-silmukka. 008 * @author Vesa Lappalainen 009 * @version 1.0, 02.03.2002 010 * @version 1.1, 01.03.2005 011 */ 012 013 public class VectorMalliGen { 014 015 public static void tulosta(OutputStream os, Vector luvut) { 016 PrintStream out = Tiedosto.getPrintStream(os); 017 for (Iterator<Integer> i = luvut.iterator(); i.hasNext(); ) { 018 int luku = i.next(); 019 out.print(luku + " "); 020 } 021 out.println(); 022 } 023 024 public static void tulosta2(OutputStream os, Collection<Integer> luvut) { 025 PrintStream out = Tiedosto.getPrintStream(os); 026 for (Integer i : luvut ) { 027 out.print(i + " "); 028 } 029 out.println(); 030 } 031 032 public static void tulosta3(OutputStream os, Collection<?> luvut) { 033 PrintStream out = Tiedosto.getPrintStream(os); 034 for (Object i : luvut ) { 035 out.print(i + " "); 036 } 037 out.println(); 038 } 039 040 public static void tulosta4(OutputStream os, Collection luvut) { 041 PrintStream out = Tiedosto.getPrintStream(os); 042 for (Object i : luvut ) { 043 out.print(i + " "); 044 } 045 out.println(); 046 } 047 048 public static void main(String[] args) { 049 Vector<Integer> luvut = new Vector<Integer>(7); 050 try { 051 luvut.add(0); luvut.add(2); 052 luvut.add(99); 053 } catch ( Exception e ) { 054 System.out.println("Virhe: " + e.getMessage()); 055 } 056 System.out.println(luvut); 057 luvut.set(1,4); 058 System.out.println(luvut); 059 int luku = luvut.get(2); 060 System.out.println("Paikassa 2 on " + luku); 061 tulosta(System.out,luvut); 062 tulosta2(System.out,luvut); 063 tulosta3(System.out,luvut); 064 tulosta4(System.out,luvut); 065 try { 066 luvut.set(21, 4); 067 } 068 catch (IndexOutOfBoundsException e) { 069 System.out.println("Virhe: " + e.getMessage()); 070 } 071 } 072 }