gpt4 book ai didi

java - 按扩展名和 Java 网站名称的字母顺序对网站名称进行排序

转载 作者:行者123 更新时间:2023-12-01 10:34:28 26 4
gpt4 key购买 nike

我有一个 .dat 文件,其中包含需要按网站扩展名(.com、.edu、.org...等)按字母顺序排序的网站列表。它还需要按域名字母顺序排序。我必须为此编写一个compareTo() 方法。我已经按扩展名排序,所以现在只需按域名排序。他们从另一个类的数组列表进入这个类

类 SiteName 实现 Comparable

{

private String webname;
public SiteName(String n){
webname=n;
}
public int compareTo(SiteName s){
int ext1=this.webname.indexOf('.');
int ext2=s.webname.indexOf('.');
if (this.webname.charAt(ext1+1)>s.webname.charAt(ext2+1))
return 1;
else return -1;



}
public String toString(){
return webname;
}

}

最佳答案

使用 indexOf() 中的索引对扩展名进行子字符串化,然后比较扩展名。如果扩展名相同,请比较完整的站点名称:

public int compareTo(SiteName that) {
int cmp = this.getWebnameExt().compareTo(that.getWebnameExt());
if (cmp == 0)
cmp = this.webname.compareTo(that.webname);
return cmp;
}
private String getWebnameExt() {
int idx = this.webname.indexOf('.');
return (idx == -1 ? "" : this.webname.substring(idx));
}

为了提高性能,您可能需要缓存扩展。

关于java - 按扩展名和 Java 网站名称的字母顺序对网站名称进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34863721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com