Use List rather than using Array. Your class needs to implements Comparable interface.
Please see the code,
By Implementing Comparable interface
public class Person implements Comparable<Person>{
private String givenName;
private String surname;
public static void main(String[] args) {
    Person person1 = new Person("a","b");
    Person person2 = new Person("c","d");
    Person person3 = new Person("e","f");
    List<Person> personList = new ArrayList<Person>();
    personList.add(person1);
    personList.add(person2);
    personList.add(person3);
    Collections.sort(personList);
    System.out.println(personList);
}
@Override
public String toString() {
    return "WorkSheet [givenName=" + givenName + ", surname=" + surname
            + "]";
}
    public Person() {
        // TODO Auto-generated constructor stub
    }
public Person(String givenName , String surname) {
    this.givenName = givenName;
    this.surname = surname;
}
public String getGivenName() {
    return givenName;
}
public void setGivenName(String givenName) {
    this.givenName = givenName;
}
public String getSurname() {
    return surname;
}
public void setSurname(String surname) {
    this.surname = surname;
}
@Override
public int compareTo(Person o) {
    // TODO Auto-generated method stub
    return o.getSurname().compareTo(this.getSurname());
}
}   
By Implementing Comaparator Interface
public class Person implements Comparator<Person>{
private String givenName;
private String surname;
public static void main(String[] args) {
    Person person1 = new Person("a","b");
    Person person2 = new Person("c","d");
    Person person3 = new Person("e","f");
    List<Person> personList = new ArrayList<Person>();
    personList.add(person1);
    personList.add(person2);
    personList.add(person3);
    Collections.sort(personList , new Person());
    System.out.println(personList);
}
@Override
public String toString() {
    return "WorkSheet [givenName=" + givenName + ", surname=" + surname
            + "]";
}
public Person() {
    // TODO Auto-generated constructor stub
}
public Person(String givenName , String surname) {
    this.givenName = givenName;
    this.surname = surname;
}
public String getGivenName() {
    return givenName;
}
public void setGivenName(String givenName) {
    this.givenName = givenName;
}
public String getSurname() {
    return surname;
}
public void setSurname(String surname) {
    this.surname = surname;
}
@Override
public int compare(Person o1, Person o2) {
    // TODO Auto-generated method stub
    return o2.getSurname().compareTo(o1.getSurname());
}
}