CIS 35A: Introduction to Java Programming

Home | Green Sheet | Lectures | Assignments | FAQ | Grades

Arrays

Arrays
The Arrays class
Comparable interface

How to implement the Comparable interface

  • Define the compareTo method. Then, the sort method of the Arrays class uses the compareTo method to sort an array of objects created from that class.
  • The compareTo method must return -1 if the current object is less than the passed object, 0 if the objects are equal, and 1 if the current object is greater than the passed object.

The Comparable interface defined in the Java API

public interface Comparable
{
    int compareTo(Object obj);
}

An Item class that implements the Comparable interface

public class Item implements Comparable
{
    private int number;
    private String description;

    public Item(int number, String description)
    {
        this.number = number;
        this.description = description;
    }

    public int getNumber()
    {
        return number;
    }

    public String getDescription()
    {
        return description;
    }

    public int compareTo(Object o)
    {
        Item i = (Item) o;
        if (this.getNumber() < i.getNumber())
            return -1;
        if (this.getNumber() > i.getNumber())
            return 1;
        return 0;
    }
}

Code that sorts an array of Item objects

Item[] items = new Item[3];
items[0] = new Item(102, "Duct Tape");
items[1] = new Item(103, "Bailing Wire");
items[2] = new Item(101, "Chewing Gum");
Arrays.sort(items);
for (Item i : items)
    System.out.println(i.getNumber() + ": " + i.getDescription());

The console output

101: Chewing Gum
102: Duct Tape
103: Bailing Wire

Previous | Methods | Code | Comparable interface | Reference to an array | Copy | Next