私はこれを理解しました。適切な並べ替えのためにCollatorクラスを使用しました。
参考までに、次のようになります(これは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()の使用を検討してください。
追加する必要がある場合も覚えておいてください。コレーターのセミコロン、ピリオド、引用符はそれらを''に入れます。
それが何らかの形で役立つことを願っています。よろしく。