Classificando uma lista de listas pelo valor da sub-lista

private List<String> subList;
private List<List<String>> records = new ArrayList<List<String>>();

for(....){

    subList = new ArrayList<String>();
    ...populate..
    records.add(subList);
}

Por exemplo, subList tem três Strings - a, b e c. Eu quero classificar os registros pelo valor de b em subList.

records at 0 has a list of "10", "20", "30"
records at 1 has a list of "10", "05", "30"
records at 2 has a list of "10", "35", "30"

Após o tipo, a ordem dos registros deve ser -

records at 0 = records at 1 above
records at 1 = records at 0 above
records at 2 = records at 2 above

O que poderia ser um bom algoritmo para isso?

questionAnswers(4)

yourAnswerToTheQuestion