用插入法进行排序代码如下 
package test; 
import java.util.*; 
class InsertSort 

ArrayList al; 
public InsertSort(int num,int mod) 

al = new ArrayList(num); 
Random rand = new Random(); 
System.out.println("The ArrayList Sort Before:"); 
for (int i=0;i<num ;i++ ) 

al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); 
System.out.println("al["+i+"]="+al.get(i)); 


public void SortIt() 

Integer tempInt; 
int MaxSize=1; 
for(int i=1;i<al.size();i++) 

tempInt = (Integer)al.remove(i); 
if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) 

al.add(MaxSize,tempInt); 
MaxSize++; 
System.out.println(al.toString()); 
} else { 
for (int j=0;j<MaxSize ;j++ ) 

if (((Integer)al.get(j)).intValue()>=tempInt.intValue()) 

al.add(j,tempInt); 
MaxSize++; 
System.out.println(al.toString()); 
break; 




System.out.println("The ArrayList Sort After:"); 
for(int i=0;i<al.size();i++) 

System.out.println("al["+i+"]="+al.get(i)); 


public static void main(String[] args) 

InsertSort is = new InsertSort(10,100); 
is.SortIt(); 

}

解决方案 »

  1.   

    String[] number = {
           "3", "1", "0","4","2" };
        List linkedListA = new LinkedList();    Arrays.sort(number);
        linkedListA = Arrays.asList(number);    Iterator iterator = linkedListA.iterator();
        while (iterator.hasNext()) {
          System.out.println(iterator.next());
        }
    这样可以吗?
      

  2.   

    利用unicode应该是可以的吧,unicode的编码顺序好像就是按照汉语拼音顺序的。
      

  3.   

    我都说了,是中文得派讯,不是1 3 5 0 得排序
    试试unicode