Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的排序arraylist不工作_Android_Sorting_Arraylist_Comparable_Compareto - Fatal编程技术网

android中的排序arraylist不工作

android中的排序arraylist不工作,android,sorting,arraylist,comparable,compareto,Android,Sorting,Arraylist,Comparable,Compareto,我在类约会对象的数组列表上调用collections.sort,但它不会排序,什么也不会发生 这就是我所谓的集合排序 ArrayList<appointment> listoffappointments = new ArrayList<appointment>(); //then everytime on button click user adds a new appointment after setting the following code is exec

我在类约会对象的数组列表上调用collections.sort,但它不会排序,什么也不会发生

这就是我所谓的集合排序

 ArrayList<appointment> listoffappointments = new ArrayList<appointment>();

 //then everytime on button click user adds a new appointment after setting the following code is executed 
{
 Calendar calendar1 = Calendar.getInstance();                
 calendar1.set(mYear, mMonth, mDay, temphour, tempmin);
 appointment tempppt = new appointment(c2,tempstring1);
 listoffappointments.add(tempppt);
 Collections.sort(listoffappointments);
}
ArrayList listoffappoints=new ArrayList();
//然后,每次单击按钮时,用户都会在执行以下代码后添加一个新约会
{
Calendar calendar1=Calendar.getInstance();
日历1.设置(mYear、Ammonth、mDay、temphour、tempmin);
任命tempppt=新任命(c2,tempstring1);
listoffappoints.add(temppt);
集合。排序(Listoff约会);
}
这是课堂,有人能找到问题吗谢谢

import java.util.Calendar;

public class appointment  implements Comparable<appointment> {

Calendar time;
String Text;
public appointment(Calendar tempc, String temptext) {
    Text = temptext;
    time = tempc;
}

public void settext(String text)
{
    Text = text;
}
public String gettext()
{
    return Text;
}
public String toString() {
    return Text;
}
public Long gettimeofappt()
{
    return time.getTimeInMillis();

}

@Override
public int compareTo(appointment o) {
     return (this.gettimeofappt() < o.gettimeofappt() ) ? -1: (this.gettimeofappt() > o.gettimeofappt() ) ? 1:0 ;  

}


}
import java.util.Calendar;
公营班级聘任制度{
日历时间;
字符串文本;
公共约会(日历时间、字符串和文本){
Text=ext;
时间=tempc;
}
公共void settext(字符串文本)
{
文本=文本;
}
公共字符串gettext()
{
返回文本;
}
公共字符串toString(){
返回文本;
}
公共长gettimeofapp()
{
返回时间。getTimeInMillis();
}
@凌驾
公共内部比较(任命o){
返回(this.gettimeofapp()o.gettimeofapp())?1:0;
}
}

如果要返回长对象,请将比较器更改为:

@Override
public int compareTo(appointment o) {
     return this.gettimeofappt().compareTo(o.gettimeofappt() );

}
Long.compareTo
以数字方式比较两个长对象,并重新计算:

如果此长度等于参数长度,则值为0;没有价值 如果此长度在数值上小于参数长度,则小于0;和 如果此长度在数值上大于 参数长(有符号比较)


如果要返回长对象,请将比较器更改为:

@Override
public int compareTo(appointment o) {
     return this.gettimeofappt().compareTo(o.gettimeofappt() );

}
Long.compareTo
以数字方式比较两个长对象,并重新计算:

如果此长度等于参数长度,则值为0;没有价值 如果此长度在数值上小于参数长度,则小于0;和 如果此长度在数值上大于 参数长(有符号比较)


如果要返回长对象,请将比较器更改为:

@Override
public int compareTo(appointment o) {
     return this.gettimeofappt().compareTo(o.gettimeofappt() );

}
Long.compareTo
以数字方式比较两个长对象,并重新计算:

如果此长度等于参数长度,则值为0;没有价值 如果此长度在数值上小于参数长度,则小于0;和 如果此长度在数值上大于 参数长(有符号比较)


如果要返回长对象,请将比较器更改为:

@Override
public int compareTo(appointment o) {
     return this.gettimeofappt().compareTo(o.gettimeofappt() );

}
Long.compareTo
以数字方式比较两个长对象,并重新计算:

如果此长度等于参数长度,则值为0;没有价值 如果此长度在数值上小于参数长度,则小于0;和 如果此长度在数值上大于 参数长(有符号比较)

试试这个:

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
Collections.sort(列表,新比较器(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});
看看

试试这个:

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
Collections.sort(列表,新比较器(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});
看看

试试这个:

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
Collections.sort(列表,新比较器(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});
看看

试试这个:

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });
Collections.sort(列表,新比较器(){
@凌驾
公共整数比较(字符串s1、字符串s2){
返回s1.compareToIgnoreCase(s2);
}
});


查看

你的集合在哪里。排序调用?在我的另一个类中,有类指定对象的数组列表,你应该在你的问题中包含该代码。现在在问题中添加了它@nknasume我的数组中已经有指定类型的元素了列表中的集合在哪里。排序调用?在我的另一个类中,有类指定对象的数组列表类指定的对象您应该在问题中包含该代码。现在在问题中添加它@nknasume我已经在我的ArrayList中有指定类型的元素,您的集合在哪里。排序调用?在我的另一个包含类指定对象数组列表的类中,您应该在问题中包含该代码。在现在的问题@nKnassume我已经在我的ArrayList中有类型约会的元素了,你的集合在哪里。排序调用?在我的另一个类中,有类型约会对象的数组列表,你应该在你的问题中包含该代码。在现在的问题中添加了它@nKnassume我已经在我的ArrayList中有类型约会的元素了“返回此.getTimeOfApp().compareTo(o.getTimeOfApp());“没有任何变化@Blackbelt您可以打印ArrayList的内容吗?只是为了调试数组列表的puropsecontents,它们的显示顺序完全相同,所以先显示,然后显示,然后显示,然后显示,然后显示,最后显示”return this.getTimeOfApp().compareTo(o.getTimeOfApp());“没有任何变化@Blackbelt您可以打印ArrayList的内容吗?只是为了调试数组列表的puropsecontents,它们的显示顺序完全相同,所以先显示,然后显示,然后显示,然后显示,然后显示,最后显示”return this.getTimeOfApp().compareTo(o.getTimeOfApp());“没有任何变化@Blackbelt您可以打印ArrayList的内容吗?只是为了调试数组列表的puropsecontents,它们的显示顺序完全相同,所以先显示,然后显示,然后显示,然后显示,然后显示,最后显示”return this.getTimeOfApp().compareTo(o.getTimeOfApp());“没什么变化@Blackbelt你能打印ArrayList的内容吗?只是为了调试数组列表中的puropsecontents按顺序显示,所以先显示,然后显示,然后显示,再显示,然后显示,最后显示”