Cómo ordenar varios ArrayLists todos juntos en java

Estoy trabajando en una aplicación que guarda información sobre los restaurantes, cada restaurante tiene 5 información "como se indica en el código de abajo", tengo que ordenar los restaurantes de acuerdo a la tasa. Sin embargo, después de ordenar de acuerdo a la tasa, necesito sincronizar todas las listas de matrices de manera que su información encaje correctamente.

Tengo 5 ArrayLists, necesito clasificar uno de ellos, pero también quiero cambiar los índices de los 4 otros ArrayLists así que pueden caber con uno a. He intentado la lista de mapas, pero me dice que puedo hacerlo con sólo 2 parámetros y no 5.

Aquí está mi ArrayLists:

//******* Arrays that holds information of restaurants taken from SERVER static public ArrayList<String> name = new ArrayList<String>(); static public ArrayList<String> lng = new ArrayList<String>(); static public ArrayList<String> lat = new ArrayList<String>(); static public ArrayList<String> address = new ArrayList<String>(); static public ArrayList<String> rate = new ArrayList<String>(); static public ArrayList<String> comment = new ArrayList<String>(); //private Map<String, String> sorted = new HashMap<>(); Doesn't work with 5 parameters 

Necesito clasificar la lista de la tarifa, pero también cambiar los índices de los otros.

Podrías crear un objeto Restaurant que contenga tus diferentes atribuciones de cadenas. De esta manera usted sería capaz de tener sólo una lista y llamar a ordenar en él para ordenar todas sus informaciones a la vez.

Usted tendrá que implementar Comparable en esta clase de Restaurant para definir cómo sus restaurantes deben ser ordenados.

Editar:

Su clase de restaurante se vería así:

 public class Restaurant implements Comparable<Restaurant>{ private String name; private String lng; private String lat; private String address; private String rate; private String comment; ... constructor/getters/setters ... @Override public int compareTo(Restaurant rest) { //TODO: check if rate is null if this can happen in your code return rate.compareTo(rest.rate); //comparing on rate attribute } } 

Entonces puede reemplazar su código por

 static public ArrayList<Restaurant> restaurants = new ArrayList<Restaurant>(); Collections.sort(restaurants); 
  • Java, ordene un ArrayList con entradas más largas al final
  • Arraylist de clasificación de Android por propiedades
  • ¿Hay una manera fácil de arrastrar elementos en un ListView para cambiar su orden?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.