Ⅰ java中用Arrays sort()如何將字元串倒序排列如,將"abcdefg"排序為"gfedcba".
java中用arrays sort()方法將abcdefg倒序,可以先試用java的comparable介面先進行比較,然後排序,實例如下:
packagetest;
importjava.util.Arrays;
importjava.util.Comparator;
publicclassArraysort{
publicstaticvoidmain(String[]args){
Strings="a,b,c,d,e,f,g";
String[]strArr=s.split(",");
Arrays.sort(strArr,newcom());//排序
for(Stringstr:strArr){
System.out.print(str+",");
}
}
}
classcom<T>implementsComparator<T>{//對abcdefg進行比較大小,排序
publicintcompare(To1,To2){
inti=Integer.parseInt(String.valueOf(o1));
intj=Integer.parseInt(String.valueOf(o2));
if(i>j)return1;
if(i<j)return-1;
return0;
}
}
Ⅱ Java:自定義一個順序,然後對List按照該順序排序。。
在Java中,如果你想對一個List按照自定義順序進行排序,可以使用Collections.sort(List list, Comparator c)方法。這里的關鍵在於如何定義Comparator介面的具體實現,以適應你的排序需求。比如,如果你想根據字元串長度對字元串列表進行排序,你可以這樣寫:
Collections.sort(list, new Comparator() {
public int compare(String o1, String o2) {
int result = o1.length() - o2.length();
return result;
}
});
這里,我們定義了一個匿名內部類實現Comparator介面,並重寫了compare方法。在compare方法中,我們比較了兩個字元串的長度,如果o1的長度大於o2,則返回正數;如果o1的長度小於o2,則返回負數;如果兩者長度相等,則返回0。注意,返回一個int值是必須的,它決定了排序的順序。
同樣,如果你想要根據字元串中特定字元的位置進行排序,例如按照第一個字元進行排序,你可以這樣做:
Collections.sort(list, new Comparator() {
public int compare(String o1, String o2) {
int result = o1.charAt(0) - o2.charAt(0);
return result;
}
});
這里,我們比較了兩個字元串的第一個字元,如果o1的第一個字元大於o2的第一個字元,則返回正數;如果小於,則返回負數;如果相等,則返回0。通過這種方式,你可以根據任何你需要的規則對列表進行排序。
總之,使用Collections.sort(List list, Comparator c)方法並自定義Comparator的compare方法,可以讓你靈活地對任何類型的列表按照自定義規則進行排序,這在實際開發中非常有用。
Ⅲ 如何用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語言建立一個班級學生姓名的字元串數組並進行排序
importjava.text.Collator;
importjava.util.Arrays;
importjava.util.Comparator;
publicclassNameSortDemo{
publicstaticvoidmain(String[]args){
String[]names={"孫小美","阿土伯","小明","錢夫人","小紅","小菜"};
System.out.println("排序前:");
for(Stringname:names){
System.out.print(name+"");
}
System.out.println();
Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);//排序規則
Arrays.sort(names,cmp);//排序
System.out.println("排序後:");
for(Stringname:names){
System.out.print(name+"");
}
}
}
輸出
排序前:
孫小美阿土伯小明錢夫人小紅小菜
按拼音排序後:
阿土伯錢夫人孫小美小菜小紅小明