「已注销」 2015-10-22 04:24 采纳率: 50%
浏览 1632
已采纳

中文怎么排序,这是个面试题求解答

怎么给“张三”,“李一”,“王五”排序,排序后为“李一”,“张三”、“王五”

  • 写回答

6条回答 默认 最新

  • 死神的丧钟 2015-10-22 05:09
    关注

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    class MyTest {
    private static Map map = new HashMap();
    public static void main(String[] args) {
    map.put("零", 0);
    map.put("一", 1);
    map.put("二", 2);
    map.put("三", 3);
    map.put("四", 4);
    map.put("五", 5);
    map.put("六", 6);
    map.put("七", 7);
    map.put("八", 8);
    map.put("九", 9);

        List<String> list = new ArrayList<String>();
        list.add("赵六");
        list.add("李四");     
        list.add("张三");
    
    
    
        Collections.sort(list, new Comparator<String>(){
    
            @Override
            public int compare(String o1, String o2) {
                int v1 = map.get(o1.substring(1));
                int v2 = map.get(o2.substring(1));
    
                return v1 - v2;
            }
    
        });
    
        System.out.println(list);
    }
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?