Sort Chinese names, don't say more, on the code
Java code
- Package test;
-
- /**
- * @Title: Person.java
- * @Copyright: Copyright (c) 2012-11-19
- * @Author: Zhangzhao
- * @Version 0.1
- */
- public class person{
- Private int ID;
- Private String name;
-
- Public String getName () {
- return name;
- }
-
- public void setName (String name) {
- This . Name = name;
- }
-
- public int getId () {
- return ID;
- }
-
- public void setId (int ID) {
- This . id = ID;
- }
-
- }
Java code
- Package test;
-
- import java.text.Collator;
- import java.util.Comparator;
-
- /**
- * @Title: Sortchinesename.java
- * @Description: Sort Chinese characters
- * @Function: Sort Chinese characters
- * @Copyright: Copyright (c) 2012-11-19
- * @Author: Zhangzhao
- * @Version 0.1
- */
- public class sortchinesename implements Comparator<person >{
- Collator cmp = collator.getinstance (Java.util.Locale.CHINA);
- @Override
- public int Compare (person O1, person O2) {
- if (Cmp.compare (O1.getname (), O2.getname ()) >0) {
- return 1;
- }Else if (Cmp.compare (O1.getname (), O2.getname ()) <0) {
- return -1;
- }
- return 0;
- }
- }
Java code
- Package test;
-
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
-
- public class testbean {
-
- public static void main (String args[]) {
- list<person> List = new arraylist<person> ();
- Person p = new person ();
- P.setid (1);
- P.setname ("Zhang San");
- List.add (P);
- p = new person ();
- P.setid (2);
- P.setname ("John Doe");
- List.add (P);
- p = new person ();
- P.setid (3);
- P.setname ("Harry");
- List.add (P);
- p = new person ();
- P.setid (4);
- p.setname ("Zhao Liu");
- List.add (P);
- //positive order
- collections.sort (list, new sortchinesename ());
- System.out.println ("Chinese name is ordered in sequence:");
- For (person pp:list) {
- System.out.println (Pp.getid () +","+pp.getname ());
- }
- System.out.println ("---------------Magical dividing line--------------------");
- //reverse
- collections.reverse (list);
- System.out.println ("Chinese names in reverse order:");
- For (person pp:list) {
- System.out.println (Pp.getid () +","+pp.getname ());
- }
- System.out.println ("---------------Magical dividing line--------------------");
- Collections.sort (List,collections.reverseorder (new sortchinesename ()));
- System.out.println ("Chinese names in reverse order:");
- For (person pp:list) {
- System.out.println (Pp.getid () +","+pp.getname ());
- }
- }
- }
Printing results:
Chinese names are arranged in a positive order:
2, John Doe
3, Harry
1, Zhang San
4, Zhao Liu
---------------Magical Split-line--------------------
Chinese names in reverse order:
4, Zhao Liu
1, Zhang San
3, Harry
2, John Doe
---------------Magical Split-line--------------------
Chinese names in reverse order:
4, Zhao Liu
1, Zhang San
3, Harry
2, John Doe
Java Chinese sort