Ordenar la matriz de cadenas de Java por varios números

Tengo una lista de datos en un archivo txt como este

Date,Lat,Lon,Depth,Mag

20000101,34.6920,-116.3550,12.30,1.21
20000101,34.4420,-116.2280,7.32,1.01
20000101,37.4172,-121.7667,5.88,1.14
20000101,-41.1300,174.7600,27.00,1.90
20000101,37.6392,-119.0482,2.40,1.03
20000101,32.1790,-115.0730,6.00,2.44
20000101,59.7753,-152.2192,86.34,1.48
20000101,34.5230,-116.2410,11.63,1.61
20000101,59.5369,-153.1360,100.15,1.62
20000101,44.7357,-110.7932,4.96,2.20
20000101,34.6320,-116.2950,9.00,1.73
20000101,44.7370,-110.7938,5.32,1.75
20000101,35.7040,-117.6320,4.15,1.45
20000101,41.9270,20.5430,10.00,4.80

mi tarea es ordenar estos datos por cada criterio ex) ordenar por fecha, latitud y longitud

Traté de burbuja como esta

if ( Double.parseDouble(a[0].split(",")[1]) <  Double.parseDouble(a[1].split(",")[1]))

esto funciona pero lleva demasiado tiempo

hay40000 datos en el archivo txt

¿Hay alguna forma alternativa de ordenar estos datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta