Advertisement
huyhung94

Từ điển sắp xếp theo tiếng Việt

Jul 18th, 2015
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.69 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package worker;
  7.  
  8.  
  9. import java.util.Collections;
  10. import java.util.Comparator;
  11. import java.util.HashMap;
  12. import java.util.Vector;
  13.  
  14. /**
  15.  *
  16.  * @author Huy Hung
  17.  */
  18. public class AllFunction {
  19.  
  20.     private HashMap<Character, String> codeVN = new HashMap<>();
  21.  
  22.     public AllFunction() {
  23.         createCode();
  24.     }
  25.  
  26.     private void createCode() {
  27.         codeVN.put(' ', "000");        codeVN.put('!', "001");        codeVN.put('\"', "002");
  28.         codeVN.put('#', "003");        codeVN.put('$', "004");        codeVN.put('%', "005");
  29.         codeVN.put('&', "006");        codeVN.put('\'', "007");       codeVN.put('(', "008");
  30.         codeVN.put(')', "009");        codeVN.put('*', "010");        codeVN.put('+', "011");
  31.         codeVN.put(',', "012");        codeVN.put('-', "013");        codeVN.put('.', "014");
  32.         codeVN.put('/', "015");        codeVN.put('0', "016");        codeVN.put('1', "017");
  33.         codeVN.put('2', "018");        codeVN.put('3', "019");        codeVN.put('4', "020");
  34.         codeVN.put('5', "021");        codeVN.put('6', "022");        codeVN.put('7', "023");
  35.         codeVN.put('8', "024");        codeVN.put('9', "025");        codeVN.put(':', "026");
  36.         codeVN.put(';', "027");        codeVN.put('<', "028");        codeVN.put('=', "029");
  37.         codeVN.put('>', "030");        codeVN.put('?', "031");        codeVN.put('@', "032");
  38.         codeVN.put('[', "033");        codeVN.put('\\', "034");       codeVN.put(']', "035");
  39.         codeVN.put('^', "036");        codeVN.put('_', "037");        codeVN.put('`', "038");
  40.        
  41.         codeVN.put('a', "039");        codeVN.put('á', "040");        codeVN.put('à', "041");
  42.         codeVN.put('ả', "042");        codeVN.put('ã', "043");        codeVN.put('ạ', "044");
  43.         codeVN.put('ă', "045");        codeVN.put('ắ', "046");        codeVN.put('ằ', "047");
  44.         codeVN.put('ẳ', "048");        codeVN.put('ẵ', "049");        codeVN.put('ặ', "050");
  45.         codeVN.put('â', "051");        codeVN.put('ấ', "052");        codeVN.put('ầ', "053");
  46.         codeVN.put('ẩ', "054");        codeVN.put('ẫ', "055");        codeVN.put('ậ', "056");
  47.         codeVN.put('b', "057");        codeVN.put('c', "058");        codeVN.put('d', "059");
  48.         codeVN.put('đ', "060");        codeVN.put('e', "061");        codeVN.put('é', "062");
  49.         codeVN.put('è', "063");        codeVN.put('ẻ', "064");        codeVN.put('ẽ', "065");
  50.         codeVN.put('ẹ', "066");        codeVN.put('ê', "067");        codeVN.put('ế', "068");
  51.         codeVN.put('ề', "069");        codeVN.put('ể', "070");        codeVN.put('ễ', "071");
  52.         codeVN.put('ệ', "072");        codeVN.put('f', "073");        codeVN.put('g', "074");
  53.         codeVN.put('h', "075");        codeVN.put('i', "076");        codeVN.put('í', "077");
  54.         codeVN.put('ì', "078");        codeVN.put('ỉ', "079");        codeVN.put('ĩ', "080");
  55.         codeVN.put('ị', "081");        codeVN.put('j', "082");        codeVN.put('k', "083");
  56.         codeVN.put('l', "084");        codeVN.put('m', "085");        codeVN.put('n', "086");
  57.         codeVN.put('o', "087");        codeVN.put('ó', "088");        codeVN.put('ò', "089");
  58.         codeVN.put('ỏ', "090");        codeVN.put('õ', "091");        codeVN.put('ọ', "092");
  59.         codeVN.put('ơ', "093");        codeVN.put('ớ', "094");        codeVN.put('ờ', "095");
  60.         codeVN.put('ở', "096");        codeVN.put('ỡ', "097");        codeVN.put('ợ', "098");
  61.         codeVN.put('ô', "099");        codeVN.put('ố', "100");        codeVN.put('ồ', "101");
  62.         codeVN.put('ổ', "102");        codeVN.put('ỗ', "103");        codeVN.put('ộ', "104");
  63.         codeVN.put('p', "105");        codeVN.put('q', "106");        codeVN.put('r', "107");
  64.         codeVN.put('s', "108");        codeVN.put('t', "109");        codeVN.put('u', "110");
  65.         codeVN.put('ú', "111");        codeVN.put('ù', "112");        codeVN.put('ủ', "113");
  66.         codeVN.put('ũ', "114");        codeVN.put('ụ', "115");        codeVN.put('ư', "116");
  67.         codeVN.put('ứ', "117");        codeVN.put('ừ', "118");        codeVN.put('ử', "119");
  68.         codeVN.put('ữ', "120");        codeVN.put('ự', "121");        codeVN.put('v', "122");
  69.         codeVN.put('x', "123");        codeVN.put('y', "124");        codeVN.put('z', "125");
  70.        
  71.         codeVN.put('{', "126");        codeVN.put('|', "127");        codeVN.put('}', "128");
  72.         codeVN.put('~', "129");
  73.     }
  74.  
  75.     public String generator(String input) {
  76.         StringBuilder result = new StringBuilder();
  77.         char[] b = input.toLowerCase().toCharArray();
  78.         for (int i = 0; i < b.length; i++) {
  79.             result.append(codeVN.get(b[i]));
  80.         }
  81.         return result.toString();
  82.     }
  83.    
  84.     public static void main(String[] args) {
  85.         AllFunction all = new AllFunction();
  86.        
  87.         Vector<String> vtName = new Vector<>();
  88.         vtName.add("Duy");
  89.         vtName.add("trinh");
  90.         vtName.add("đạt");
  91.         vtName.add("Dũng");
  92.         vtName.add("nhân");
  93.         vtName.add("1");
  94.         vtName.add("a");
  95.        
  96.         Collections.sort(vtName, new Comparator<String>(){
  97.  
  98.             @Override
  99.             public int compare(String o1, String o2) {
  100.                 return all.generator(o1).compareTo(all.generator(o2));
  101.             }
  102.         });
  103.  
  104.         for(String name : vtName){
  105.             System.out.print(name + " : ");
  106.         }
  107.        
  108.     }
  109.    
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement