मैंने इसे समझ लिया। मैंने उचित छँटाई के लिए Collator वर्ग का उपयोग किया।
FYI करें यह इस तरह दिखता है (यह 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]);
}
}
}
उपयोग का उदाहरण:
Collections.sort(someCollectionOfStringArray, new AccessSorter().getSomeComparator()
और अब आपको एक्सेस या mySQL के संयोजन के बारे में चिंता करने की आवश्यकता नहीं है। आप स्वयं नियम निर्धारित करते हैं। बेशक इस तरह के एरे को सॉर्ट करने में कुछ समय लगता है।
याद रखें, अगर आपको एक से अधिक बार बड़े एरेज़ को सॉर्ट करने की आवश्यकता है, तो दक्षता बढ़ाने के लिए getCollatorKey() का उपयोग करने पर विचार करें।
यह भी याद रखें कि क्या आपको इसमें जोड़ने की आवश्यकता है कोलेटर अर्धविराम, अवधि, उद्धरण चिह्न उन्हें '' ' में डालते हैं।