java對string排序
A. 如何用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());
}
}
B. Java語言中如何對String類型排序【此方法除外Arrays.sort(str)】,有沒有其他的方法,多寫幾種!謝謝!
一樓說的好像不對吧!
compareTo是這樣的。如果兩個字元串是一樣的,那麼返回0,如果不一樣,應該是返回1或者-1。
我記得是這樣子的。
Array的sort方法是需要new出來一個數組再進行排序
你說的compareTo是直接通過兩個字元串就可以比較了
具體還是要看你用在什麼地方,通過什麼方式比較更加便捷一些
C. 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];
}
D. JAVA中對String數組根據字元長度進行分組並且排序
好像也很復雜...
String[]str={"1","2","3","66","54","513","323","12","121"};
Map<Integer,List<String>>map=newHashMap<Integer,List<String>>();//按照長度區分數據
Set<Integer>indexSet=newHashSet<Integer>();//長度去重
for(Stringstring:str){
intlength=string.length();
List<String>list=map.get(length);
if(list==null){
list=newArrayList<String>();
}
list.add(string);
Collections.sort(list);//默認排序
indexSet.add(length);
map.put(length,list);
}
List<Integer>indexList=newArrayList<Integer>();
for(Integerinteger:indexSet){
indexList.add(integer);
}
Collections.sort(indexList);//長度默認排序
JSONArrayjsonArray=newJSONArray();
for(Integerinteger:indexList){
List<String>valueList=map.get(integer);
String[]strings=valueList.toArray(newString[valueList.size()]);
jsonArray.add(strings);
}
System.out.println(jsonArray.toString());
E. 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++;
}
F. JAVA String str排序演算法 是這樣寫嗎
compare string的大小需要用compareTo,例子
Stringstr1="hello";
Stringstr2="helloworld";
//returnValue可以返回負數,0,和正數
//如果返回負數,說明str1<str2
//如果返回為0,說明str1.equals(str2)
//如果返回正數,說明str1>str2
intreturnValue=str1.compareTo(str2);
2. 你需要把String str變換成數組,例如
//你的str
Stringstr="6222750107116807A900"+""
+"6222756100000419A1100"+""
+"621690105761620A1001"+""
+"6222750107116807A1900"+
"6222756100000419A2000"+
"6212690105761620A100"+
"6222750107116807A800"+
"6222756100000419A1300"+""
+"6212690105761620A1400";
//需要換成數組str1
String[]str1=newString[]{"6222750107116807A900","6222756100000419A1100","621690105761620A1001","6222750107116807A1900",
"6222756100000419A2000","6212690105761620A100","6222750107116807A800","6222756100000419A1300","6212690105761620A1400"};
你試著嘗試輸出一下str.length(),返回的是185,是整個str的長度,如果你輸出str1.length,返回的值是9,表示有多少String
3. 你的冒泡排序演算法並沒有錯,所以修改完我說的1,2條後程序應該會正確運行。2060823590WZY說的也沒有錯,冒泡排序確實有點慢,但是對於初學者來說搞懂邏輯與基礎是最重要的,等掌握好基礎後再學習排序。
G. 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]
H. 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();
}
}