string排序java
『壹』 java語言中如何對String類型排序【此方法除外Arrays.sort(str)】,有沒有其他的方法,多寫幾種!謝謝!
一樓說的好像不對吧!
compareTo是這樣的。如果兩個字元串是一樣的,那麼返回0,如果不一樣,應該是返回1或者-1。
我記得是這樣子的。
Array的sort方法是需要new出來一個數組再進行排序
你說的compareTo是直接通過兩個字元串就可以比較了
具體還是要看你用在什麼地方,通過什麼方式比較更加便捷一些
『貳』 java中怎麼對一串字元進行排序!
importjava.util.Arrays;
publicclassStringSort{
publicstaticvoidmain(String[]args){
Stringstring="togoodtoonostringandnow";
StringsortString=sortChar(string);
System.out.println(sortString);
}
privatestaticStringsortChar(Stringstr){
//1.將字元串轉化成數組
char[]chs=stringToArray(str);
//2.對數組進行排序
sort(chs);
//3.將數組轉成字元串
returntoString(chs);
}
privatestaticStringtoString(char[]chs){
returnnewString(chs);
}
//對字元數組進行升序排序
privatestaticvoidsort(char[]chs){
Arrays.sort(chs);
}
//將字元串轉化成為數組
privatestaticchar[]stringToArray(Stringstring){
returnstring.toCharArray();
}
}
『叄』 java如何對String str="3,12,34,14,12"從小到大排序,不要逗號,重復的只保留一個
整體思想就是將字元串先分割成數組,然後轉換成數字進行比較,可用Set進行去重。
//將字元串分割成數組
Stringstr="3,12,34,14,12";
String[]strArray=str.split(",");
//將字元串轉換成整型方便進行比較
List<Integer>list=newLinkedList<Integer>();
for(Strings:strArray){
list.add(Integer.valueOf(s.trim()));
}
//將整型數組添加到Set中進行去重
Set<Integer>set=newHashSet<Integer>();
set.addAll(list);
//將整型數組進行排序
Integer[]intArray=newInteger[set.size()];
set.toArray(intArray);
Arrays.sort(intArray);
//將整型再轉回字元串
Stringresult=String.valueOf(intArray[0]);
for(inti=1;i<intArray.length;i++){
result=result+""+intArray[i];
}
『肆』 java 編寫對String類型的數組元素進行排序,求高手,求幫助,求代碼,謝謝啊~~
用Arrays就行了 如
String[] ss={"eee","ddd","aaa","bbb","ccc"};
Arrays.sort(ss);//給數組ss排序 執行後ss就已經被排過序了。
System.out.println(Arrays.toString(ss));
結果:[aaa, bbb, ccc, ddd, eee]
『伍』 java如何實現字元串比較大小排序
使用 String.compareTo 方法:
compareTo() 的返回值是int, 它是先比較對應字元的大小(ASCII碼順序)
1、如果字元串相等返回值0
2、如果第一個字元和參數的第一個字元不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字元串的值小於後字元串,正值前字元串大於後字元串)
3、如果第一個字元和參數的第一個字元相等,則以第二個字元和參數的第二個字元做比較,以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1長度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1長度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII碼是97,"1"的的ASCII碼是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII碼是97,"c"的ASCII碼是99,所以返回-2)
『陸』 JAVA String類型的數組怎麼逆序排序
String[] a = new String[]{"A","B","C","D","E"};
String[] b=new String[a.length];
int indexA=a.length-1,indexB=0;
for(String s:a){
b[indexB]=a[indexA];
indexA--;
indexB++;
}
『柒』 如何用java對字元串進行排序
importjava.util.*;
publicclassCharSort
{
privatestaticScannersc=newScanner(System.in);
privatestaticStringBuffersb=newStringBuffer();
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========字元串排序!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
System.out.println("請輸入:");
for(;;)
{
Stringa=input();
char[]arr=a.toCharArray();
Arrays.sort(arr);
sb.append(a);
print(arr,sb);
}
}
//掃描!
privatestaticStringinput()
{
Stringa=sc.nextLine();
returna;
}
//列印!
privatestaticvoidprint(char[]arr,StringBuffersb)
{
System.out.println(" 字元串排序演示:");
for(inti=0;i<arr.length;i++)
{
System.out.print(arr[i]);
}
System.out.println(" ===================== 倒序演示:");
System.out.print(sb.reverse());
}
}
『捌』 java String 數組 中文如何排序
publicstaticvoidmain(String[]args)throwsException{
List<String>list=newArrayList<>();
Stringstr[]=newString[]{"富川/f","清遠/q","三水/s","北海/b","防城港/f","韶關/s","深圳/s","順德/s","陽江/y","湛江/z",
"肇慶/z","中山/z","珠海/z"};
for(Stringstring:str){
list.add(string);
System.out.println("1:"+string+"");
}
System.out.println("---------------------------");
Collatorcoll=Collator.getInstance(Locale.CHINESE);
Collections.sort(list,coll);
for(Stringstring:list){
System.out.println("2:"+string+"");
}
}