首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

汉语言姓名排序

2012-07-23 
中文姓名排序在android中,我们经常要用到HashMap,经常用list存放HashMap,我们对List中的元素进行排序的时

中文姓名排序

在android中,我们经常要用到HashMap,经常用list存放HashMap,我们对List中的元素进行排序的时候,就要用到构造器了,下面具体用列子说说:

假如在main方法中有:

 public List<HashMap<String, Object>> listitem;       listitem.add(new HashMap("name","one"));       listitem.add(new HashMap("name","张三"));       listitem.add(new HashMap("name","李四"));       listitem.add(new HashMap("name","王五"));       listitem.add(new HashMap("name","two"));             Comparent comparent = new Comparent();       Collections.sort(listitem, comparent);

?

其中在Comparent.java文件中定义方法如下:

import java.text.Collator;import java.util.Comparator;import java.util.HashMap;import java.util.Locale;public class Comparent implements  Comparator<Object> { @SuppressWarnings("unchecked") @Override public int compare(Object arg0, Object arg1) {  HashMap<String, Object> name1 = (HashMap<String, Object>)arg0;  HashMap<String, Object> name2 = (HashMap<String, Object>)arg1;  Collator ca = Collator.getInstance(Locale.CHINA);  int flags = 0;  if (ca.compare((String) name1.get("name"), (String)name2.get("name")) < 0) {   flags = -1;  }  else if(ca.compare((String) name1.get("name"), (String)name2.get("name")) > 0) {   flags = 1;  }  else {   flags = 0;  }  return flags; }}

?

?

热点排行