Collections 實現List簡單升序降序 以及 各種用法


1.默認情況下(sort)

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.sort(list);
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
  運行結果:
  上海移動,北京移動,江蘇移動,浙江電信,浙江移動,浙江聯通

2.按漢字拼音升序

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.sort(list, Collator.getInstance(java.util.Locale.CHINA));
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
  運行結果:
  北京移動,江蘇移動,上海移動,浙江電信,浙江聯通,浙江移動

3.逆序排序(reverse)

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.sort(list, Collator.getInstance(java.util.Locale.CHINA));
        Collections.reverse(list);      //反轉整個數組
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
  運行結果:
  浙江移動,浙江聯通,浙江電信,上海移動,江蘇移動,北京移動

4.混排--重新洗牌(Shuffling)

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.shuffle(list);    //隨機排序
        System.out.println(StringUtils.join(list.toArray(), ","));
        Collections.shuffle(list);       //隨機排序 
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
  運行結果:
  浙江電信,浙江移動,上海移動,江蘇移動,浙江聯通,北京移動
  浙江移動,江蘇移動,北京移動,上海移動,浙江電信,浙江聯通    

5.循環移動(rotate)

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.rotate(list, 1);        //向右移動1
        System.out.println(StringUtils.join(list.toArray(), ","));
        Collections.rotate(list, -2);       //向左移動2
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
    運行結果:
    浙江聯通,浙江移動,江蘇移動,浙江電信,上海移動,北京移動
    江蘇移動,浙江電信,上海移動,北京移動,浙江聯通,浙江移動

 6.換位(swap)

    public static void main(String[] args) {
        List<String> list = Arrays.asList(
            "浙江移動", "江蘇移動", "浙江電信", "上海移動", "北京移動", "浙江聯通");
        Collections.swap(list, 0, 1);        //向右移動1
        System.out.println(StringUtils.join(list.toArray(), ","));
    }
    運行結果:
    江蘇移動,浙江移動,浙江電信,上海移動,北京移動,浙江聯通

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM