我正在尝试在 java 中创建一个非常简单的 IRC 客户端,并且刚刚开始处理特定于频道的用户列表。我正在使用以下代码对用户列表进行排序,但它并没有按照应有的方式对其进行排序。IRC 层次结构是这样的:~ & @ % + (qaohv),如果有人没有这些前缀之一,他们应该在用户列表的底部。有人知道我可以做些什么来使用一个比较器保留列表的字母顺序和排名顺序吗?
比较器代码:
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