Java - Comparar dos elementos en un arraylist

 
Vista:

Comparar dos elementos en un arraylist

Publicado por Roberta (2 intervenciones) el 08/12/2019 10:17:53
Hola buenas tengo un problema, quiero comparar el ultimo elemento que es el weight, pero no sé como hacerlo. Leo de un csv y lo tokenizo para conseguir los elemetos del fichero sin separadores. Y guardo cada parte en 3 variables distintas. Si la 3 variable es mayor o igual a 15, esas 3 variables las voy guardando en un ArrayList, y si es menor a 15 lo guardo en otra. El problema que me surge ahora es recorrer el array y comparar ese tercer elemento, con el siguiente, y si el siguiente es mas grande ponerlo en otra lista junto a los dos elementos anteriores.(o eliminarlos directamente de la lista)

Sin-titulo

Lo hago con un arraylist, pero puedo cambiarlo por cualquier EDa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while(leer.hasNextLine()) {
 
    StringTokenizer stz = new StringTokenizer(rd.nextLine(), ",");
 
    String origen = stz.nextToken();
    String destino = stz.nextToken();
    String weight = stz.nextToken();
    if(Integer.parseInt(weight) >= 15) {
        lisM.add(origen);
        lisM.add(destino);
        lisM.add(weight);
    }else {
        lism.add(origen);
        lism.add(destino);
        lism.add(weight);
    }
}

1
2
3
4
5
6
7
8
9
String o = (String)lisM.get(0);
String d = (String)lisM.get(1);
String w = (String)lisM.get(2);
for(int i = 5; i < lisM.size(); i+=3) {
    String elem =(String) lisM.get(i);
    if(w.compareTo(elem)) {
 
    }
}

Lo he intentado de varias formas pero no se como comparar esos dos elementos. He intentado eliminandolos, pero no lo consigo, tambien lo he intentado con un arraylist auxiliar para que solo me guarde el elemento mayor de lisM. (tambien quisiera saber cual es el menor).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Comparar dos elementos en un arraylist

Publicado por Kabuto (1381 intervenciones) el 08/12/2019 23:25:24
¿Y tienes que hacerlo así obligatoriamente?
Es decir, ¿no puedes crear una clase que represente a esos objetos (no se si son envíos de paquetería) con esos tres atributos: origen, destino y weight?.
Además de sus correspondientes métodos para compararse unos con otros.

De este modo, en los ArrayList tendrías estos objetos sucesivos unos de otros y puedes gestionar de forma más sencilla el compararlos y mover de un ArrayList a otro. Ya no tendrías que estar controlando las posiciones de tres en tres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar