Java 气泡排序对象数组列表
此方法的目的是根据个人ID进行冒泡排序 然而,在这方面:Java 气泡排序对象数组列表,java,sorting,bubble-sort,compareto,cannot-find-symbol,Java,Sorting,Bubble Sort,Compareto,Cannot Find Symbol,此方法的目的是根据个人ID进行冒泡排序 然而,在这方面: if (al.get(i).compareTo(al.get(i+1)) > 0 ) 它声明:找不到符号方法compareTo(java.lang.Object) 这是班上的人(不是很顽皮)/// 这是排序方法: public static void sort(ArrayList al) { Person p; String temp; boolean flag = true; System.ou
if (al.get(i).compareTo(al.get(i+1)) > 0 )
它声明:找不到符号方法compareTo(java.lang.Object)
这是班上的人(不是很顽皮)///
这是排序方法:
public static void sort(ArrayList al)
{
Person p;
String temp;
boolean flag = true;
System.out.println("Database will be sorted acc to ID ");
System.out.println();
while (flag = true)
{
flag = false;
for (int i=0;i<al.size()-1;i++)
{
p = (Person) al.get(i);
if (al.get(i).compareTo(al.get(i+1)) > 0 )
{
temp = al.get(i);
al.set(i,al.get(i+1) );
al.set(i+1, temp);
flag = true;
}
}
}
}
publicstaticvoid排序(arraylistal)
{
人p;
字符串温度;
布尔标志=真;
System.out.println(“数据库将根据ID进行排序”);
System.out.println();
while(flag=true)
{
flag=false;
对于(int i=0;i 0)
{
温度=al.get(i);
al.set(i,al.get(i+1));
所有组件(i+1,温度);
flag=true;
}
}
}
}
聚苯乙烯;谈到代码,我是个新手,已经修改代码长达7个小时了对象带有内置的compareTo()方法,但最好覆盖默认值。这将大大简化您的代码 您的Person类将需要实现Comparable,并将其包含在类声明中。然后,您可以编写一个
compareTo()
方法,如下所示:
public int compareTo(Person b) {
return this.name.compareTo(b.getName());
}
compareTo()
方法应返回-1、0或1。如果在主类中调用a.compareTo(b)
,compareTo()
如果对象排序到相同的位置(即相等),则应返回零;如果对象a排序在对象b之前,则返回-1;如果对象a排序在对象b之后,则返回1
你需要决定什么构成同一个人,以及他们应该如何分类。按姓名字母顺序排列?姓名和身份证?不管你的节目是什么 您为Person类编写了compareTo()方法吗?哦,这就是为什么…这是怎么回事?您需要了解,请不要使用原始类型,您应该使用
ArrayList
或更好的List
只是一个问题,我在Person类的参数(compareTo旁边)中写什么,或者在另一个类中调用compareTo?在person类中,我认为person类的compareTo方法应该将另一个person对象作为参数,并比较person对象之间的特定变量。让我编辑一下我的答案。
public int compareTo(Person b) {
return this.name.compareTo(b.getName());
}