日期:2014-05-20  浏览次数:20682 次

有如下字符窜。求如何排序。
比如s1   =   "P_0_0 "   s2= "P_0_1 "   s3= "P_2_0 "   s4= "T_1_1 "   s5= "T_1_0 "
希望的结果是
P_0_0
P_0_1
P_2_0
T_1_0
T_1_1

先按字母排   P排在T前面   再按第2位排   数字可能是0到9   从小到大排   再按第3位排   第3位只可能是0或者1   ,   求如何实现

------解决方案--------------------

import javax.swing.*;
import java.util.Arrays;
public class SwingDemo extends JFrame
{
public static void main(String[] args) {
String []s ={ "T_1_0 ", "T_1_1 ", "P_2_0 ", "P_0_0 ", "P_0_1 "};
Arrays.sort(s);
for(int i=0;i <s.length;i++)
System.out.println(s[i]);
}
}
给分!!!!
------解决方案--------------------
那使用TreeMap或者使用当前map构造一个TreeMap就可以按顺序访问了
------解决方案--------------------
youthon(可乐可口) 是正解啊
跑一下就知道了 ;)
Map testMap = new HashMap();
for(int i = 100 ; i > = 0; i -- ){
if(i%2 == 0){
testMap.put( "P " + i, "w -- " + (100 -i));
}else {
testMap.put( "T " + i, "w -- " + (100 -i));
}
}
TreeMap aa = new TreeMap (testMap);
Iterator mapIterator = aa.keySet().iterator();
while(mapIterator.hasNext()){
String name = (String) mapIterator.next();
System.out.println( "the name == " + name + "--value== " + aa.get(name));
}