1 import java.util.ArrayList;
2 import java.util.Vector;
3 import java.util.LinkedList;
4 import java.util.Iterator;
5 import java.util.Collection;
6 import java.util.Collections;
7 import java.util.Comparator;
8 import java.util.List;
9 import java.io.*;
10 import fi.jyu.mit.ohj2.*;
11
12
17
18 public class AlgoritmiMalli {
19
20
25 public static class LaskevaInt implements Comparator {
26 public int compare(Object o1, Object o2) {
27 return ((Integer)o2).intValue() - ((Integer)o1).intValue();
28 }
29 }
30
31 public static void tulosta(OutputStream os, Collection luvut) {
32 PrintStream out = Tiedosto.getPrintStream(os);
33 for (Iterator i = luvut.iterator(); i.hasNext(); ) {
34 int luku = ((Integer)i.next()).intValue();
35 out.print(luku + " ");
36 }
37 out.println();
38 }
39
40
41 public static void main(String[] args) {
42 ArrayList luvut = new ArrayList();
43 try {
44 luvut.add(new Integer(0)); luvut.add(new Integer(2));
45 luvut.add(new Integer(99)); luvut.add(new Integer(7));
46 luvut.add(new Integer(22)); luvut.add(new Integer(71));
47 } catch ( Exception e ) {
48 System.out.println("Virhe: " + e.getMessage());
49 }
50 System.out.println(luvut);
52 Collections.sort(luvut);
53 tulosta(System.out,luvut); Collections.sort(luvut,new LaskevaInt());
55 tulosta(System.out,luvut); Collections.shuffle(luvut);
57 tulosta(System.out,luvut); Collections.sort(luvut,Collections.reverseOrder());
59 tulosta(System.out,luvut); Collections.reverse(luvut);
61 tulosta(System.out,luvut);
63 int suurin = ((Integer)Collections.max(luvut)).intValue();
64 System.out.println("Suurin = " + suurin); int pienin = ((Integer)Collections.min(luvut)).intValue();
66 System.out.println("Pienin = " + pienin); pienin = ((Integer)Collections.max(luvut,new LaskevaInt())).intValue();
68 System.out.println("Pienin = " + pienin);
70 List luvut2 = new LinkedList();
71 luvut2.addAll(0,luvut);
72 tulosta(System.out,luvut2); luvut2 = luvut.subList(2,5);
74 tulosta(System.out,luvut2);
76 }
77 }