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; } }