我可以在java中没有简单的方法,我可以以其中排序字符串数据
a < aa < aaa < aaaa
a < b < ab < ba < aba
String.compareTo方法将安排在以下格式的数据排列的字母。因此,不会成为我的目的 一个< AA < AAA < b < AB < BA
请帮助!
我可以在java中没有简单的方法,我可以以其中排序字符串数据
a < aa < aaa < aaaa
a < b < ab < ba < aba
String.compareTo方法将安排在以下格式的数据排列的字母。因此,不会成为我的目的 一个< AA < AAA < b < AB < BA
请帮助!
你可以使用比较比较字符串长度和使用compareTo在一起
public int compare(String o1, String o2)
{
if(o1.length() > o2.length())
{
return 1;
}
else if(o1.length() < o2.length())
{
return -1;
}
return o1.compareTo(o2);
}
谢谢Raghav和Voe – user2720673
您可以通过使用Comparator
选中此做:
import java.util.Comparator;
public class SComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
if(s1.length() != s2.length()){
return s1.length() - s2.length();
}
return s1.compareTo(s2);
}
}
然后,您可以使用它像这样:
ArrayList<String> L = new ArrayList<String>();
// ...
Collections.sort(L, new SComparator());
您也可以通过排序来解决此问题。
String[] words = {"going", "went", "go", "how", "jam"};
Arrays.sort(arr);
输出:
go < going < how < jam < went
你必须写一些东西,提供你的目的。如果你花了一些时间来做这件事,并且你有问题,你可以在这里发布代码和问题。 – dcaswell
编写一个比较器,接受两个字符串,如果字符串相同,则输出0;如果第一个字符串较大(稍后显示),则输出1;如果它早一些出现,则输出-1 –