Du kan lave en 'Car' klasse, der repræsenterer din bil.
- public class Car implements Comparable<Car> {
-
- private String model;
- private int topSpeed;
-
- public Car(String model, int topSpeed)
- {
- this.model = model;
- this.topSpeed = topSpeed;
- }
-
- public void setModel(String model) { this.model = model; }
- public void setTopSpeed(double topSpeed) { this.topSpeed = topSpeed; }
-
- public String getModel() { return model; }
- public int getTopSpeed() { return topSpeed }
-
- //Gør så vores klasse sorteres via topSpeed
- public int compareTo(Car car)
- {
- return new Integer(topSpeed).compareTo(new Integer(car.getTopSpeed()));
- }
-
- }
Du kan så lave din anden klasse som tester
- public class CarTest {
-
- public static void main(String[] args)
- {
- //Opret Objekter
- Car car1 = new Car("BMW", 200);
- Car car2 = new Car("Porsche", 300);
- Car car3 = new Car("Fiat", 50);
-
- ArrayList<Car> carList = new ArrayList<Car>();
- carList.add(car1);
- carList.add(car2);
- carList.add(car3);
-
- //sorter dem
- Collections.sort( carList );
-
- for (Car : carList) {
- System.out.println( car.getModel() + " has a top speed of " + car.getTopSpeed() );
- }
- }
-
- }
Koden skulle gerne udskrive
Fiat has a top speed of 50
BMW has a top speed of 200
Porsche has a top speed of 300Hvis du skulle have et ønske om at sorterer dem så dem med højeste fart kommer først, kan du med fordel efter soteringen bruge metoden Collections.reverse( carList ); som vender listen om, så objektet der er først nu bliver det sidste.