我可以在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 –