排序 对象数组数据 string数据顺序排序
对比方法
1 package com.tool.com.lib; 2 3 import java.text.CollationKey; 4 import java.text.Collator; 5 import java.util.Comparator; 6 7 import com.tool.com.object.ObjectWebsite; 8 9 public class SortBrowserDataByName implements Comparator { 10
11 @Override 12 public int compare(Object o1, Object o2) { 13 ObjectWebsite stu1 = (ObjectWebsite) o1; 14 ObjectWebsite stu2 = (ObjectWebsite) o2; 15 16 // --字符串比较 17 String v1 = stu1.getName().toString(); 18 String v2 = stu2.getName().toString(); 19 Collator myCollator = Collator.getInstance(); 20 CollationKey[] keys = new CollationKey[5]; 21 keys[0] = myCollator.getCollationKey(v1); 22 keys[1] = myCollator.getCollationKey(v2); 23 return (keys[0].compareTo(keys[1])); 24 } 25 26 }
方法调用
1 package com.tool.com.lib; 2 3 import java.io.IOException; 4 import java.util.ArrayList; 5 import java.util.Arrays; 6 import java.util.Iterator; 7 import java.util.List; 8 9 import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 10 11 import com.alibaba.fastjson.JSON; 12 import com.alibaba.fastjson.JSONArray; 13 import com.alibaba.fastjson.JSONObject; 14 import com.github.crab2died.ExcelUtils; 15 import com.github.crab2died.exceptions.Excel4JException; 16 import com.tool.com.object.ObjectWebsite; 17 18 public class ExcelLib { 19 //public static List<ObjectWebsite> result2 = null; 20 public static String pathExcelString = System.getProperty("user.dir") + "\\config\\WebsiteInfo3.xlsx"; 21 //public static String pathExcelString2 = System.getProperty("user.dir") + "\\config\\WebsiteInfo3.xlsx"; 22 public static void main(String[] args) throws InvalidFormatException, Excel4JException, IOException { 23 // TODO Auto-generated method stub 24 // List<ObjectWebsite> result3 = ExcelLib.getExcelData(); 25 // System.out.println(result3.size()); 26 // for (ObjectWebsite objectWebsite : result3) { 27 // objectWebsite.setComment1("9999"); 28 // } 29 // ExcelLib.saveExcelData(result3); 30 //System.out.println(Arrays.toString(result3)); 31 //getExcelData(); 32 List<ObjectWebsite> result31 = ExcelLib.getExcelData(); 33 System.out.println(result31.size()); 34 for (ObjectWebsite objectWebsite : result31) { 35 System.out.println(objectWebsite); 36 } 37 //JSONArray platformList = JSON.parseArray(result31); 38 //JSONArray. 39 List<ObjectWebsite> result311 = ExcelLib.getExcelData(); 40 //sortBroswerDataByBootNum(result311); 41 System.out.println("--"); 42 ObjectWebsite[] oWebsite = new ObjectWebsite[result311.size()]; 43 for (int i = 0; i < oWebsite.length; i++) { 44 oWebsite[i] = result311.get(i); 45 } 46 Arrays.sort(oWebsite, new SortBrowserDataByName()); 47 for (int i = 0; i < oWebsite.length; i++) { 48 ObjectWebsite objectWebsite = oWebsite[i]; 49 //result311.set(i, objectWebsite); 50 System.out.println(objectWebsite); 51 } 52 System.out.println(result311.size()); 53 54 } 55 56 public static List<ObjectWebsite> sortBroswerDataByBootNum(List<ObjectWebsite> result311) { 57 ObjectWebsite[] oWebsite = new ObjectWebsite[result311.size()]; 58 for (int i = 0; i < oWebsite.length; i++) { 59 oWebsite[i] = result311.get(i); 60 } 61 //System.out.println("--"); 62 Arrays.sort(oWebsite, new SortBrowserDataByBootNum()); 63 for (int i = 0; i < oWebsite.length; i++) { 64 ObjectWebsite objectWebsite = oWebsite[i]; 65 result311.set(i, objectWebsite); 66 //System.out.println(objectWebsite); 67 } 68 return result311; 69 } 70 71 public static List<ObjectWebsite> getExcelData() { 72 List<ObjectWebsite> result = null; 73 //pathExcelString = pathExcelString + "\\config\\WebsiteInfo.xlsx"; 74 //System.out.println(pathExcelString); 75 try { 76 result = ExcelUtils.getInstance().readExcel2Objects(pathExcelString, ObjectWebsite.class); 77 } catch (InvalidFormatException e) { 78 // TODO Auto-generated catch block 79 e.printStackTrace(); 80 } catch (Excel4JException e) { 81 // TODO Auto-generated catch block 82 e.printStackTrace(); 83 } catch (IOException e) { 84 // TODO Auto-generated catch block 85 e.printStackTrace(); 86 } 87 //ExcelLib2.result2 = result; 88 //ExcelUtils.getInstance(). 89 return result; 90 } 91 92 public static void saveExcelData(List<ObjectWebsite> result2) { 93 try { 94 ExcelUtils.getInstance().exportObjects2Excel(result2, ObjectWebsite.class, pathExcelString); 95 } catch (Excel4JException e) { 96 // TODO Auto-generated catch block 97 e.printStackTrace(); 98 } catch (IOException e) { 99 // TODO Auto-generated catch block 100 e.printStackTrace(); 101 } 102 } 103 104 }