Saya menemukan ini. Saya menggunakan kelas Collator untuk penyortiran yang tepat.
FYI sepertinya ini (ini adalah pengurutan ArrayList):
public class AccessSorter
{
final static String letters = "< a, A < b, B < c, C < d, D < e, E < f, F < g, G < h, H < i, I < j, J < k, K < l, L < m, M < n, N < o, O < p, P < q, Q < r, R < s, S < t, T < u, U < v, V < w, W < x, X < y, Y < z, Z";
final static String digits = "< 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9";
final static String special = "< '.' < '_'";
private RuleBasedCollator accessCollator;
AccessSorter()
{
try
{
accessCollator = new RuleBasedCollator(special + digits + letters);
}
catch (ParseException e)
{
e.printStackTrace();
}
}
SomeComparator getSomeComparator()
{
return new SomeComparator();
}
class SomeComparator implements Comparator<String[]>
{
@Override
public int compare(String[] s1, String[] s2)
{
return accessCollator.compare(s1[1], s2[1]);
}
}
}
contoh penggunaan:
Collections.sort(someCollectionOfStringArray, new AccessSorter().getSomeComparator()
Dan sekarang Anda tidak perlu khawatir tentang kumpulan akses atau mySQL. Anda menetapkan aturan sendiri. Tentu saja perlu waktu untuk mengurutkan array seperti itu.
Ingat, jika Anda perlu mengurutkan array besar lebih dari sekali, pertimbangkan untuk menggunakan getCollatorKey() untuk meningkatkan efisiensi.
Ingat juga jika Anda perlu menambahkan ke titik koma collator, titik, tanda kutip menempatkan mereka ke dalam ' '.
Saya harap ini akan membantu Anda entah bagaimana. Salam.