/*对传入的向量进行排序(按照参与者姓名排序)*/
public Vector[] Sort(Vector vtID, Vector vtName) {
Vector[] vt = {vtID, vtName};
String exChangeID = null;
String exChangeName = null;
//Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
//Arrays.sort(vtName, cmp);
//Collator.getInstance(Locale.CHINESE)
String exChange1=null;
String exChange2=null;
for(int i=0;ifor(int j=0;j<(vtName.size()-i-1);j++){if(Collator.getInstance(Locale.CHINESE).compare(vtName.get(j).toString(), vtName.get(j+1).toString())==1){exChange1=vtName.get(j).toString();exChange2=vtID.get(j).toString();vtName.setElementAt(vtName.get(j+1),j);vtID.setElementAt(vtID.get(j+1),j);vtName.setElementAt(exChange1,j+1);vtID.setElementAt(exChange2,j+1);}}}vt[0] = vtID;vt[1] = vtName;return vt;}
本文介绍了一个简单的算法,该算法能够根据参与者姓名对两个向量(ID和姓名)进行同步排序。通过使用Java的Collator类及其Locale.CHINESE设置,确保了中文姓名能够正确排序。此方法适用于需要按姓名顺序组织数据的应用场景。
955

被折叠的 条评论
为什么被折叠?



