135246abc 對數字和字母進行排序

package org.xiaozhu.test; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class MyTest {             public static void main(String[] args) {         List<Object> list = new ArrayList<Object>();         list.add(3);         list.add(1);         list.add(9);         list.add(8);         list.add(4);         list.add(6);         list.add(2);         list.add("c");         list.add("f");         list.add("a");         list.add("h");         list.add("d");         // 排序結果 應爲  1 3 9 2 4 6 8 a c d f h         List<Object> result = sortByComplex(list);                 // 打印結果         for (Object object : result) {             System.out.println(object.toString());         }             }             public static List<Object> sortByComplex(List<Object> list){         // 存放數字         List<Integer> number = new ArrayList<Integer>();         // 存放奇數字         List<Object> odd = new ArrayList<Object>();         // 存放偶數         List<Integer> even = new ArrayList<Integer>();         // 存在字母         List<String> letter = new ArrayList<String>();         // 將字母數字分別存放在對應集合         for (Object obj : list) {             if (obj.toString().matches("^\\d$")) {                 // 將數字放在number集合中                 number.add(Integer.parseInt(obj.toString()));                 Collections.sort(number);                             }else if (obj.toString().matches("^\\w$")) {                 letter.add(obj.toString());                 // 對字母排序                 Collections.sort(letter);             }         }         // 處理數字number         for (Integer integer : number) {             if (integer %2 !=0) {                 // 奇數                 odd.add(integer);             }else{                 even.add(integer);             }         }         // 將偶數加到         for (Integer integer : even) {             odd.add(integer);         }                 // 將字母加到偶數後面         for (String string : letter) {             odd.add(string);         }                 return odd; } }
相關文章
相關標籤/搜索