我使用此代码对具有键类型的键的集合进行排序:
class Myclass {
String Key;
other variables
}
Collection的定义如下:
ArrayList<Myclass> MyCollection = new ArrayList<MyClass>();
我向MyColletion添加了一些项目,最后对集合进行了排序:
Collections.sort(MyCollection, new Comparator<MyClass>() {
@Override public int compare(MyClass c1, MyClass c2) {
return c1.Key.compareToIgnoreCase(c2.Key);
}
});
如果密钥是字符串,则此代码可以对集合进行排序和排序。但是我想把我的密钥改成长,所以这个类看起来像这样:
class Myclass {
long Key;
other variables
}
我无法找到将密钥作为长类型对集合进行排序的代码。它应该与旧的Android apis一起工作,而不是19。
答案 0 :(得分:1)
您可以像这样使用Long.compare:
app.get('/random', renderMyAngularBootstrap)
如果较旧的Android apis不支持上述内容,则可以执行以下操作:
/random
答案 1 :(得分:0)
注意:这个比较器不能用于原始数据类型,如int,long,double,但是如果使用包装类,我会给出这个解决方案,这可能很有用
对于排序列表值的通用方法,您可以使用此比较器
if (ItemObject->Name == "I") {
ShowMessage("Item Image clicked");
}
if (ItemObject->Name == "T") {
ShowMessage("Item Text clicked");
}
if (ItemObject->Name == "A") {
ShowMessage("Item Accessory clicked");
}
并在您的班级中使用
public class Genericcomparator<T extends Myclass> implements Comparator<T> {
@Override
public int compare(T o1, T o2) {
// TODO Auto-generated method stub
return o1.key.compareTo(o2.key);
}
}
所以当你改变数据类型时,比较它就没有问题