数字和字符组合的字符串排序,先拍数字,再排字母,字母里有数字也要排序,升序排列

package Test;


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;


public class Demo implements Comparator{  
 public static List moduleSorting (String[] serial) {
 ArrayList<String> arrayList = new ArrayList<String>();
 for(int i=0;i<=serial.length;++i) {
 arrayList.add(serial[i]);
 }
 return arrayList;
 }
 public int compare(Object computer1, Object computer2) {     
       String s1 = ((String) computer1).toLowerCase();     
       String s2 = ((String) computer2).toLowerCase();     
       if (s1.charAt(0) > s2.charAt(0)) {     
           return 1;     
       } else if (s1.charAt(0) < s2.charAt(0)) {     
           return -1;     
       } else {     
           if(s1.length()==s2.length())     
               return s1.compareTo(s2);     
           else if(s1.length()>s2.length())     
               return 1;     
           return 0;     
       }              
 }  
 public static List sortView(List arrayList) {     
 List list=arrayList;     
 Collections.sort(list,new Demo());
 return list;
 }
 public static void myprint(List<String> list) {  
       Iterator it = list.iterator(); // 得到迭代器,用于遍历list中的所有元素  
       while (it.hasNext()) {// 如果迭代器中有元素,则返回true  
           System.out.println("\t" + it.next());// 显示该元素  
       }  
   }  
 public static void main(String[] args) {
 Demo s = new Demo();
 ArrayList<String> arrayList = new ArrayList<String>();
 arrayList.add("a5");
 arrayList.add("a1");
 arrayList.add("d9");
 arrayList.add("c4");
 arrayList.add("32");
 arrayList.add("1");
 s.sortView(arrayList);
 myprint(arrayList);
 }

你可能感兴趣的:(数字和字符组合的字符串排序,先拍数字,再排字母,字母里有数字也要排序,升序排列)