/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String[] nombres
= {"hola 1",
"hola 5",
"hola 15",
"hola 2"};
for (int i=0; i< nombres.length ; i++) {
//Extrae valores de array, el numero serĂ¡ la columna a ordenar.
String[] parts
= nombres
[i
].
split(" "); nombresAOrdenar[i][0] = parts[1];
nombresAOrdenar[i][1] = parts[0];
}
//Ordena valores por columna 1 (indice 0)
Arrays.
sort(nombresAOrdenar,
new ColumnComparator
(0));
//Agrega valores ordenados a array original
for (int j=0; j< nombres.length ; j++) {
nombres[j] = nombresAOrdenar[j][1].toString() + " "+ nombresAOrdenar[j][0].toString();
}
//Imprime valores de Array ya ordenado
for (String nombre
: nombres
) { System.
out.
print(nombre
+ ", "); }
}
static class ColumnComparator
implements Comparator { int columnToSort;
ColumnComparator(int columnToSort) {
this.columnToSort = columnToSort;
}
//sobreescribe metodo compare
int res
= Integer.
parseInt(row1
[0].
toString()) - Integer.
parseInt(row2
[0].
toString()); return res;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCSAgICBTdHJpbmdbXSBub21icmVzID0geyJob2xhIDEiLCAiaG9sYSA1IiwgImhvbGEgMTUiLCAiaG9sYSAyIn07ICAgIAogICAgCiAgICBTdHJpbmdbXVtdIG5vbWJyZXNBT3JkZW5hciA9IG5ldyBTdHJpbmdbbm9tYnJlcy5sZW5ndGhdWzJdOyAKICAgICAKICAgIGZvciAoaW50IGk9MDsgaTwgbm9tYnJlcy5sZW5ndGggOyBpKyspIHsKICAgICAgICAvL0V4dHJhZSB2YWxvcmVzIGRlIGFycmF5LCBlbCBudW1lcm8gc2Vyw6EgbGEgY29sdW1uYSBhIG9yZGVuYXIuCiAgICAgICAgU3RyaW5nW10gcGFydHMgPSBub21icmVzW2ldLnNwbGl0KCIgIik7CiAgICAgICAgbm9tYnJlc0FPcmRlbmFyW2ldWzBdID0gIHBhcnRzWzFdOwogICAgICAgIG5vbWJyZXNBT3JkZW5hcltpXVsxXSA9ICBwYXJ0c1swXTsgICAgICAgIAogICAgfSAgCiAgICAKICAgIC8vT3JkZW5hIHZhbG9yZXMgcG9yIGNvbHVtbmEgMSAoaW5kaWNlIDApCiAgICBBcnJheXMuc29ydChub21icmVzQU9yZGVuYXIsIG5ldyBDb2x1bW5Db21wYXJhdG9yKDApKTsKICAgCiAgIC8vQWdyZWdhIHZhbG9yZXMgb3JkZW5hZG9zIGEgYXJyYXkgb3JpZ2luYWwgCiAgIGZvciAoaW50IGo9MDsgajwgbm9tYnJlcy5sZW5ndGggOyBqKyspIHsgICAgICAgICAgIAogICAgICAgIG5vbWJyZXNbal0gPSBub21icmVzQU9yZGVuYXJbal1bMV0udG9TdHJpbmcoKSArICIgIisgbm9tYnJlc0FPcmRlbmFyW2pdWzBdLnRvU3RyaW5nKCk7CiAgIH0gIAogIAogICAvL0ltcHJpbWUgdmFsb3JlcyBkZSBBcnJheSB5YSBvcmRlbmFkbwogICBmb3IgKFN0cmluZyBub21icmUgOiBub21icmVzKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludChub21icmUgKyAiLCAiKTsKICAgfQoJfQoJCgkKCQoJICAgIHN0YXRpYyBjbGFzcyBDb2x1bW5Db21wYXJhdG9yIGltcGxlbWVudHMgQ29tcGFyYXRvciB7CglpbnQgY29sdW1uVG9Tb3J0OwoJQ29sdW1uQ29tcGFyYXRvcihpbnQgY29sdW1uVG9Tb3J0KSB7CgkJdGhpcy5jb2x1bW5Ub1NvcnQgPSBjb2x1bW5Ub1NvcnQ7Cgl9CgkvL3NvYnJlZXNjcmliZSBtZXRvZG8gY29tcGFyZQoJcHVibGljIGludCBjb21wYXJlKE9iamVjdCBvMSwgT2JqZWN0IG8yKSB7CgkJU3RyaW5nW10gcm93MSA9IChTdHJpbmdbXSkgbzE7CgkJU3RyaW5nW10gcm93MiA9IChTdHJpbmdbXSkgbzI7CgkJCiAgICAgICAgICAgICAgICBpbnQgcmVzID0gSW50ZWdlci5wYXJzZUludChyb3cxWzBdLnRvU3RyaW5nKCkpIC0gIEludGVnZXIucGFyc2VJbnQocm93MlswXS50b1N0cmluZygpKTsgCQkKICAgICAgICAgICAgICAgIHJldHVybiByZXM7Cgl9Cn0KICAgICAgICAKCQoJCgkKfQ==