私は楽しみのために Java で非常に単純な IRC クライアントを作成しようとしていますが、チャネル固有のユーザー リストを扱い始めたところです。次のコードを使用してユーザー リストを並べ替えていますが、正しく並べ替えられません。IRC の階層は次のようになります: ~ & @ % + (qaohv)。これらの接頭辞のいずれも持っていない場合は、ユーザー リストの一番下に配置する必要があります。リストのアルファベット順とランク順を1つのコンパレータで保持するために何ができるか知っている人はいますか?
コンパレータ コード:
public class StringComparator implements Comparator<String> {
@Override
public int compare(String a, String b) {
return a.compareToIgnoreCase(b);
}
}
上記のコンパレータの出力例:
%Brennan
&Adam
&Sheldon
+Mike
+Yoda
@Phil
@Unleashed
Jean
Damien
~Tim