基于字符串成员对java对象进行排序
我有一个自定义类型的对象,名为基于字符串成员对java对象进行排序,java,sorting,Java,Sorting,我有一个自定义类型的对象,名为后缀,定义为 class Suffix { int index; String suff; } 我创建一个后缀类型的对象数组 Suffix s[] = new Suffix[10]; 我需要根据字符串suff数据成员对其进行排序。我该怎么做?我无法理解大多数在线定制实现 例如: 如果我有s[0].suff=“hats”,s[1].suff=“ats”,s[2].suff=“ts”。现在我需要根据后缀对这个数组进行排序(“ats”,1)、(
后缀
,定义为
class Suffix
{
int index;
String suff;
}
我创建一个后缀类型的对象数组
Suffix s[] = new Suffix[10];
我需要根据字符串suff
数据成员对其进行排序。我该怎么做?我无法理解大多数在线定制实现
例如:
如果我有s[0].suff=“hats”,s[1].suff=“ats”,s[2].suff=“ts”。现在我需要根据后缀对这个数组进行排序<代码>(“ats”,1)、(“hats”,0)和(“ts”,2)应按顺序排序
查看界面。此接口将允许根据您自己的标准比较您的类
快速谷歌搜索出现了。查看界面。此接口将允许根据您自己的标准比较您的类
快速谷歌搜索出现了。如果您的对象扩展了类似的界面,您可以使用array.sort(..)
class Suffix implements Comparable<Suffix>
{
int index;
String suff;
@Override
public int compareTo(Suffix o) {
return this.suff.compareTo(o.suff);
}
}
如果对象扩展了可比较的接口,则可以使用Arrays.sort(..)
class Suffix implements Comparable<Suffix>
{
int index;
String suff;
@Override
public int compareTo(Suffix o) {
return this.suff.compareTo(o.suff);
}
}
你有三种可能:
suff
字符串Suffix
类中实现compariable
接口,重写compariteto()
方法并使用Arrays.sort()代码>以可比较对象数组为参数
比较器
,并使用array.sort()
方法获取数组和比较器index
而不是suff
param进行排序,可以将另一个比较器传递给sort()
方法
Suffix s[] = new Suffix[10];
Comparator comp = new Comparator<Suffix>(){
@Override
public int compare(Suffix arg0, Suffix arg1)
{
return arg0.suff.compareTo(arg1.suff);
}
};
Arrays.sort(s,comp);
后缀s[]=新后缀[10];
比较器comp=新比较器(){
@凌驾
公共整数比较(后缀arg0,后缀arg1)
{
返回arg0.suff.compareTo(arg1.suff);
}
};
数组。排序(s,comp);
您的
后缀
类中没有可更改的内容。提示:您可以使用比较器作为静态字段创建一个额外的类。您有三种可能:
suff
字符串Suffix
类中实现compariable
接口,重写compariteto()
方法并使用Arrays.sort()代码>以可比较对象数组为参数
比较器
,并使用array.sort()
方法获取数组和比较器index
而不是suff
param进行排序,可以将另一个比较器传递给sort()
方法
Suffix s[] = new Suffix[10];
Comparator comp = new Comparator<Suffix>(){
@Override
public int compare(Suffix arg0, Suffix arg1)
{
return arg0.suff.compareTo(arg1.suff);
}
};
Arrays.sort(s,comp);
后缀s[]=新后缀[10];
比较器comp=新比较器(){
@凌驾
公共整数比较(后缀arg0,后缀arg1)
{
返回arg0.suff.compareTo(arg1.suff);
}
};
数组。排序(s,comp);
您的
后缀
类中没有可更改的内容。提示:您可以使用Comparator作为静态字段创建一个额外的类。除了使用Comparable作为@insert username here和@vinayknl之外,另一个是使用Comparator。在要排序的方法中添加以下内容:
Comparator comparator = new Comparator<Suffix>() {
public int compare(Object o1, Object o2) {
Suffix s1 = (Suffix) o1;
Suffix s2 = (Suffix) o2;
return s1.getSuff().compareTo(s2.getSuff());
}
}
Array.sort(s, comparator);
比较器比较器=新比较器(){
公共整数比较(对象o1、对象o2){
后缀s1=(后缀)o1;
后缀s2=(后缀)o2;
返回s1.getSuff().compareTo(s2.getSuff());
}
}
数组。排序(s,比较器);
注意:别忘了添加getter。除了在此处使用Comparable作为@insert username和@vinayknl之外,另一个是使用Comparator。在要排序的方法中添加以下内容:
Comparator comparator = new Comparator<Suffix>() {
public int compare(Object o1, Object o2) {
Suffix s1 = (Suffix) o1;
Suffix s2 = (Suffix) o2;
return s1.getSuff().compareTo(s2.getSuff());
}
}
Array.sort(s, comparator);
比较器比较器=新比较器(){
公共整数比较(对象o1、对象o2){
后缀s1=(后缀)o1;
后缀s2=(后缀)o2;
返回s1.getSuff().compareTo(s2.getSuff());
}
}
数组。排序(s,比较器);
注意:不要忘记添加getter。
我需要根据字符串suff数据成员对其进行排序。
??请举例。我需要根据字符串suff数据成员对其进行排序。
??请举个例子。应该更安全;)<代码>实现可比性
应该更安全;)