Ordenar una lista de listas por el valor de la lista secundaria

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

for(....){

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

Por ejemplo, subList tiene tres cadenas: a, b y c. Quiero ordenar los registros por el valor de b en la lista secundaria.

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"

Después del ordenamiento, el orden de los registros debe ser:

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

¿Qué podría ser un buen algoritmo para eso?

Respuestas a la pregunta(4)

Su respuesta a la pregunta