What Sebastian proposed is to create VO class say PersonVO, which will have three fields. You set these fields from your array, arr, arr, arr. You will have as many objects of PersonVO class as there are number of arrays. This PersonVO class will implement comparator, override compare() in this VO class. Then use Collections utility to sort your VO class. Later you can reconvert them in arrays or whatever. Now I am not giving you exact code. look for those pieces in google. This is clean way to sort them, else you can write C style code and do sorting yourself.
There's a really easy way to do that which doesn't involve reorganizing the data: write a class that implements Comparator, and use the static Collections.sort() method that accepts a Comparator to sort your list. The Comparator interface has a single method compare(), and it returns a number less than one if the first argument should come first, and greter than one if the second should come first -- that's easy to write, yes? You just compare the array elements in two arrays. Then the sort() method does all the work for you.