I have an ArrayList of ArrayList of String.
In Outer ArrayList on each index each Inner ArrayList has four items have four parameters.
You should create a class for your data structure (if you can't, then specify why. I can't see any good reason not to):
public class Contact implements Comparable {
private String id;
private String name;
private String address;
private String number;
// Getters and setters, and compareTo.
}
Then use that in your list instead:
List<Contact> contacts = new ArrayList<Contacts>();
Sorting it will then be trivial.