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+"");
}
}