java字符串排序

bosshung 2008-10-30 06:19:18
字符串如下("a","ab","ac","abc","de","bc","e"),如何不使用数组中sort方法进行正序排序。
情况紧急
...全文
8126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
OliveChinese 2008-11-26
  • 打赏
  • 举报
回复
大可不需要那样复杂了!
(一)如果要排序的为字符串,
如:String sortStr = "ACDFE";
char[] arrayCh = sortStr .toCharArray(); //1,把sortStr转换为字符数组
Arrays.sort(arrayCh);//2,利用数组帮助类自动排序
System.out.println(Arrays.toString(arrayCh));//3,输出
(二)如果要排序的为字符串数组
如:String sortStr = new String[]{"C","A","B"};
Arrays.sort(sortStr );//2,利用数组帮助类自动排序
System.out.println(Arrays.toString(sortStr));//3,输出

-------------------------------------------------------------------------
只是上面的方法只适合按自然排序输出,如果有特效要求,可以扩展排序类型

bosshung 2008-10-30
  • 打赏
  • 举报
回复
	public static void main(String[] args) {
String[] text = { "bc", "de", "ac", "abc", "ab", "e", "a" };
String temp = "";
for (int i = 0; i < text.length; i++) {
for (int j = i+1; j < text.length; j++) {
if (text[i].compareTo(text[j]) > 0) {
temp = text[i];
text[i] = text[j];
text[j] = temp;
}
}
}
System.out.println(Arrays.toString(text));
}

谢谢楼上的那位兄弟~我把你的代码改了以后就出来了~
输出结果是:[a, ab, abc, ac, bc, de, e]
刘振锋 2008-10-30
  • 打赏
  • 举报
回复

package com.xy.example;

import java.util.Arrays;

public class Test2 {

public static void main(String[] args) {

String[] text = { "a", "ab", "ac", "abc", "de", "bc", "e" };
for (int i = 0; i < text.length; i++) {
String temp = text[i];
for (int j = i; j < text.length - i; j++) {
if (temp.compareTo(text[j]) > 0) {
text[i] = text[j];
text[j] = temp;
}
}
}
System.out.println(Arrays.toString(text));
}
}

这个貌似可以,输出结果是:[a, ab, abc, ac, de, bc, e]
bosshung 2008-10-30
  • 打赏
  • 举报
回复
有谁提供代码?
拜托各位!!!!
bobolnear 2008-10-30
  • 打赏
  • 举报
回复
用字符串对比大小,排序。compareTo(String anotherString)
andyheway 2008-10-30
  • 打赏
  • 举报
回复
试试挨个嵌套循环,呵呵,不是好办法
lihan6415151528 2008-10-30
  • 打赏
  • 举报
回复
如果是从数据库取出的话,楼主在数据库里面可以用order by进行排序

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧