Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann man die Sortierung in der MDB-Datei (ms access) überprüfen (oder sogar festlegen)?

Ich habe das herausgefunden. Ich habe die Collator-Klasse für die richtige Sortierung verwendet.

FYI es sieht so aus (das ist die Sortierung von 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]);
    }
}

}

Anwendungsbeispiel:

Collections.sort(someCollectionOfStringArray, new AccessSorter().getSomeComparator()

Und jetzt brauchen Sie sich keine Gedanken mehr über Zugriffssortierungen oder mySQL zu machen. Regeln legst du selbst fest. Natürlich dauert es einige Zeit, ein solches Array zu sortieren.
Denken Sie daran, wenn Sie große Arrays mehr als einmal sortieren müssen, ziehen Sie die Verwendung von getCollatorKey() in Betracht, um die Effizienz zu steigern.
Denken Sie auch daran, wenn Sie etwas hinzufügen müssen Kollator Semikolons, Punkte, Anführungszeichen setzen sie in ' '.
Ich hoffe, es wird Ihnen irgendwie helfen. Grüße.