62,621
社区成员
发帖
与我相关
我的任务
分享
StringUtilsString str = "1,5,4,22,6,32,56,742,44";
String[] group = str.split(",");
Arrays.sort(group, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.length() == o2.length() ? o1.compareTo(o2):o1.length() - o2.length();
}
});
System.out.println(Arrays.toString(group).replaceAll("\\[|\\]| ", ""));
import java.util.ArrayList;
import java.util.List;
public class StringSort
{
public static void main(String[] args)
{
String s = "100,10,1,0,15,20";
System.out.print(sort(s));
}
public static String sort(String s)
{
char[] ch = s.toCharArray();
List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
//获得所有","的位置
for (int i=0; i<s.length(); i++)
{
if (',' == ch[i])
{
list1.add(i);
}
}
int n = 0;
int m = 0;
Integer temp;
//获得字符串中的数字
for (int j=0; j<list1.size(); j++)
{
if (0 == j)
{
m = list1.get(j);
String str = new String(ch,n,m-n);
temp = new Integer(Integer.parseInt(str));
list2.add(temp);
n = m + 1;
}
else if (j>0 && j<list1.size()-1)
{
m = list1.get(j);
String str = new String(ch,n,m-n);
temp = new Integer(Integer.parseInt(str));
list2.add(temp);
n = m + 1;
}
else
{
m = list1.get(j);
String str = new String(ch,n,m-n);
temp = new Integer(Integer.parseInt(str));
list2.add(temp);
n = m + 1;
String last = new String(ch,n,ch.length-n);
Integer lastTemp = new Integer(Integer.parseInt(last));
list2.add(lastTemp);
}
}
//使用冒泡排序
for (int k=list2.size(); k>2; k--)
{
for (int q=0; q<k-1; q++)
{
if (list2.get(q) > list2.get(q+1))
{
int tem = list2.get(q);
list2.set(q, list2.get(q+1));
list2.set(q+1, tem);
}
}
}
StringBuffer strb = new StringBuffer();
for (int p=0; p<list2.size(); p++)
{
strb.append(list2.get(p));
if (list2.size()-1 != p)
{
strb.append(',');
}
}
String string = new String(strb);
return string;
}
}
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class Test1 {
public static void main(String[] args)
{
String s = "100,10,1,0,15,20";
String[] arr = s.split(",");
TreeSet<String> set = new TreeSet<String>(new MyComparator());
for(int i=0;i<arr.length;i++)
{
set.add(arr[i]);
}
Iterator<String> iterator = set.iterator();
while(iterator.hasNext())
{
String os = iterator.next();
System.out.println(os);
}
}
}
class MyComparator implements Comparator<String>
{
public int compare(String o1, String o2)
{
return o1.length()==o2.length()?o1.compareTo(o2):o1.length()-o2.length();
}
}
public class Test1 {
public static String sort(String args){
StringBuffer value = "";
int[] nums = args.split(",");
nums = Arrays.sort(nums);
for(int i : nums) {
value.append(i + ",");
}
return value;
}
public static void main(String[] args) {
String s = "100,10,1,0,15,20";
System.out.print(sort(s));//输出0,1,10,15,20,100,
}
static String sort(String args) {
if(args == null || args.isEmpty() || !args.contains(",")) {
return args;
}
String[] strArr = args.split(",");
int[] intArr = new int[strArr.length];
for(int i = 0;i < strArr.length;++i) {
intArr[i] = Integer.valueOf(strArr[i]);
}
Arrays.sort(intArr);
StringBuffer sb = new StringBuffer();
for(int i = 0;i < intArr.length;++i) {
sb.append(intArr[i]);
if(i != intArr.length - 1) {
sb.append(",");
}
}
return sb.toString();
}