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();
}
}