JAVA中List集合的汉字排序
如题List里放的是中文名称我想按拼音首字母排序list里的汉字有什么好的方法?望大家踊跃发言!!那要是List里放的是javabean。并且该bean对象只有一个属性‘...
如题 List里放的是中文名称 我想按拼音首字母排序list里的汉字 有什么好的方法?
望大家踊跃发言!!
那要是 List里放的是javabean。并且该bean对象只有一个属性‘功能名称’,是汉字的功能名称。
又如何给该List排序?要求是按javabean中该属性的'功能名称‘的首字母拼音进行排序。 会根据回答加分的!! 展开
望大家踊跃发言!!
那要是 List里放的是javabean。并且该bean对象只有一个属性‘功能名称’,是汉字的功能名称。
又如何给该List排序?要求是按javabean中该属性的'功能名称‘的首字母拼音进行排序。 会根据回答加分的!! 展开
4个回答
展开全部
先要设定list的排序规则 意思是要建立一个比较器 这个比较器就是装的两个中文的比较规则(按拼音首字母排序)
然后调用集合类的排序方法对list进行排序就行了。。。
汉字取拼音首字母有很多方法 你去网上搜下大把代码
bean的一样啊 举个例子吧:
class mybean implements Comparator
{
private String funcName;
public mybean()
{
}
public mybean(String func)
{
this.funcName = func;
}
public void setFuncName( String funcName)
{
this.funcName = funcName;
}
public String getFuncName()
{
return this.funcName;
}
public int compare(mybean o1, mybean o2)
{
String fname1 = o1.getFuncName();
String fname2 = o2.getFuncName();
//下面对fname和fnam2进行比较 比较规则是取fname1和fname2的拼音首字母进行比较 如果fname1的拼音首字母较大 则返回1 否则返回-1 相等返回0
}
}
然后 List<mybean> al = new ArrayList<mybean>();
al.add(new mybean("中国"));
al.add(new mybean("美国"));
最后再调用Collections.sort(al,new mybean());就可以对al中的mybean进行排序
然后调用集合类的排序方法对list进行排序就行了。。。
汉字取拼音首字母有很多方法 你去网上搜下大把代码
bean的一样啊 举个例子吧:
class mybean implements Comparator
{
private String funcName;
public mybean()
{
}
public mybean(String func)
{
this.funcName = func;
}
public void setFuncName( String funcName)
{
this.funcName = funcName;
}
public String getFuncName()
{
return this.funcName;
}
public int compare(mybean o1, mybean o2)
{
String fname1 = o1.getFuncName();
String fname2 = o2.getFuncName();
//下面对fname和fnam2进行比较 比较规则是取fname1和fname2的拼音首字母进行比较 如果fname1的拼音首字母较大 则返回1 否则返回-1 相等返回0
}
}
然后 List<mybean> al = new ArrayList<mybean>();
al.add(new mybean("中国"));
al.add(new mybean("美国"));
最后再调用Collections.sort(al,new mybean());就可以对al中的mybean进行排序
展开全部
中文的要按拼音字母排序,貌似直接是没有办法的吧...
有一种方法是需要先定义一个"字典",就像真实的字典一样,如:
你:ni
我:wo
好:hao
........
然后排序时汉字到"字典"中查找对应的拼音就可以排序啦
这种字典应该在网上可以找的到,已经有整理的啦。
这应该是种笨方法,不知是否有高人有好的办法
有一种方法是需要先定义一个"字典",就像真实的字典一样,如:
你:ni
我:wo
好:hao
........
然后排序时汉字到"字典"中查找对应的拼音就可以排序啦
这种字典应该在网上可以找的到,已经有整理的啦。
这应该是种笨方法,不知是否有高人有好的办法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汉字排序的办法也有很多,就看你是要按照那种策略排序了。
1.如果仅仅是按汉字的ASCII码进行排序的话,那就和英文或者数字是一样的排序方法。(例如string a = new string("你");string b = new string ("我");if(a>b)...)
2.如果需要按照汉字的拼音排序的话,你就需要数据字典了。就是上面那位说的那样:("a","啊阿吖嗄腌锕锕");
1.如果仅仅是按汉字的ASCII码进行排序的话,那就和英文或者数字是一样的排序方法。(例如string a = new string("你");string b = new string ("我");if(a>b)...)
2.如果需要按照汉字的拼音排序的话,你就需要数据字典了。就是上面那位说的那样:("a","啊阿吖嗄腌锕锕");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
("a","啊阿吖嗄腌锕锕");
("ai","爱矮挨哎碍癌艾唉哀蔼隘埃皑嗌嫒瑷暧捱砹嗳锿霭乂乃伌僾儗凒剀剀叆呃呝啀嘊噫嗳堨塧壒娭娾嫒嵦爱懓懝敱敳昹暧欬唉毐溰溾濭烠焥瑷皑皧瞹硋磑碍絠薆蔼諰譪譺賹躷醷鎄鑀阂阂阨阸隑霭靉餲馤呆鯦鱫鴱崖");
("an","按安暗岸俺案鞍氨胺庵揞犴铵桉谙鹌埯黯侒儑匼厈咹唵啽垵垾堓婩媕屽峖晻洝玵痷盦盫碪罯腤荌庵萻葊蓭裺誝谙豻貋遃钳铵錌钳暗阴隂隌雸鞌韽顸頞顸馣鮟鴳鹌鶕");
("ang","昂肮盎仰昂岇昻枊腌醠肮");
("ao","袄凹傲奥熬懊敖翱澳嚣拗媪廒骜嗷坳遨聱螯獒鏊鳌鏖岙厫嗸噢嚻嚣垇墺墽奡奥媪嫯岰嶅嶴慠扷抝摮擙柪梎棍泑滶澚熝爊獓璈眑磝硗礉翶翺芺蔜蝹袄謷謸軪郩鏕镺隞骜鳌鴁鴢鷔鳌");
("ba","把八吧爸拔罢跋巴芭扒坝霸叭靶笆疤耙捌粑茇岜鲅钯魃菝灞仈叐哱哵坺垻墢坝夿妭峇弝抜抪朳杷柭欛湃炦犮玐癹皅矲笩紦罢羓胈茷萆蚆覇詙豝跁軷釛釟钯颰魞鮁鮊鲃鲌鼥");
("bai","百白摆败拜佰稗掰庍拝挀排摆败栢派猈竡粨粺絔薜薭摆贁鞁鞴韛");
("ban","半办班般拌搬版斑板伴扳扮瓣颁绊癍坂钣舨阪瘢坢埿姅岅怑搫攽斒昄朌柈湴瓪秚籓粄绊肦蝂螁螌褩覂豳跘辧钣鉡板靽颁魬鳻");
("bang","帮棒绑磅镑邦榜梆膀谤浜蒡嗙垹埲塝嫎峀岗幇幚帮旁挷捠搒棓牓玤硥稖纺绑縍艕蚄蛖蜯螃谤邫镑鞤騯髈");
("bao","包抱报饱保暴宝爆豹刨雹褒堡苞胞鲍炮龅孢煲褓鸨趵葆佨儤剥勹勽嘐嚗堢报媬嫑寚寳宝忁怉曓枹珤炮窇笣簿緥菢蕔藵虣蚫袌袍裒裦襃賲刨刨铇闁靌靤飹饱駂骲髱鲍鳵鸨龅宀");
("be","萡");
……
你需要的是这样的数据字典
("ai","爱矮挨哎碍癌艾唉哀蔼隘埃皑嗌嫒瑷暧捱砹嗳锿霭乂乃伌僾儗凒剀剀叆呃呝啀嘊噫嗳堨塧壒娭娾嫒嵦爱懓懝敱敳昹暧欬唉毐溰溾濭烠焥瑷皑皧瞹硋磑碍絠薆蔼諰譪譺賹躷醷鎄鑀阂阂阨阸隑霭靉餲馤呆鯦鱫鴱崖");
("an","按安暗岸俺案鞍氨胺庵揞犴铵桉谙鹌埯黯侒儑匼厈咹唵啽垵垾堓婩媕屽峖晻洝玵痷盦盫碪罯腤荌庵萻葊蓭裺誝谙豻貋遃钳铵錌钳暗阴隂隌雸鞌韽顸頞顸馣鮟鴳鹌鶕");
("ang","昂肮盎仰昂岇昻枊腌醠肮");
("ao","袄凹傲奥熬懊敖翱澳嚣拗媪廒骜嗷坳遨聱螯獒鏊鳌鏖岙厫嗸噢嚻嚣垇墺墽奡奥媪嫯岰嶅嶴慠扷抝摮擙柪梎棍泑滶澚熝爊獓璈眑磝硗礉翶翺芺蔜蝹袄謷謸軪郩鏕镺隞骜鳌鴁鴢鷔鳌");
("ba","把八吧爸拔罢跋巴芭扒坝霸叭靶笆疤耙捌粑茇岜鲅钯魃菝灞仈叐哱哵坺垻墢坝夿妭峇弝抜抪朳杷柭欛湃炦犮玐癹皅矲笩紦罢羓胈茷萆蚆覇詙豝跁軷釛釟钯颰魞鮁鮊鲃鲌鼥");
("bai","百白摆败拜佰稗掰庍拝挀排摆败栢派猈竡粨粺絔薜薭摆贁鞁鞴韛");
("ban","半办班般拌搬版斑板伴扳扮瓣颁绊癍坂钣舨阪瘢坢埿姅岅怑搫攽斒昄朌柈湴瓪秚籓粄绊肦蝂螁螌褩覂豳跘辧钣鉡板靽颁魬鳻");
("bang","帮棒绑磅镑邦榜梆膀谤浜蒡嗙垹埲塝嫎峀岗幇幚帮旁挷捠搒棓牓玤硥稖纺绑縍艕蚄蛖蜯螃谤邫镑鞤騯髈");
("bao","包抱报饱保暴宝爆豹刨雹褒堡苞胞鲍炮龅孢煲褓鸨趵葆佨儤剥勹勽嘐嚗堢报媬嫑寚寳宝忁怉曓枹珤炮窇笣簿緥菢蕔藵虣蚫袌袍裒裦襃賲刨刨铇闁靌靤飹饱駂骲髱鲍鳵鸨龅宀");
("be","萡");
……
你需要的是这样的数据字典
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询