对字符串进行排序,用任意一种编程语言来实现,不能使用现有的类,在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“Xman”,“little”,“During”,“day”能够排序成“Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,也就是说,在排序的过程并不是传统的按照字符串排序,在排序中还需要将小写字母一并排序,也就是说a字符串要在B或b之前。
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
String[] strs={"Bc","Ad","aC","Hello","Xman","little","During","day"};
Arrays.sort(strs, new Comparator<String>(){
int cha='a'-'A';
public int compare(String o1, String o2) {
char[] so1=o1.toCharArray();
char[] so2=o2.toCharArray();
int min=so1.length<so2.length?so1.length:so2.length;
for(int i=0;i<min;i++){
if(so1[i]!=so2[i]){
if(so1[i]-so2[i]==-cha || so1[i]-so2[i]==cha){
return so1[i]-so2[i];
}else{
int so1_1=so1[i];
int so2_1=so2[i];
if(so1[i]<='Z'){
so1_1+=cha;
}
if(so2[i]<='Z'){
so2_1+=cha;
}
return so1_1-so2_1;
}
}
}
return so1.length-so2.length;
}
});
System.out.println(Arrays.toString(strs));
}
}
分享到:
相关推荐
android城市列表,右侧字母点击,按字母排序,顶部有当前城市,热门城市等布局,试用性强。
全国主要城市列表, 包含市级以上城市, 按照字母排序, xml文件
Listview item项按字母排序并可随意拖动item项排序
SortListView按字母排序改进版
按字母排序的ListView,并且可以快速定位到选定的字母的位置
微信小程序 首字母排序选择 (源码)微信小程序 首字母排序选择 (源码)微信小程序 首字母排序选择 (源码)微信小程序 首字母排序选择 (源码)微信小程序 首字母排序选择 (源码)微信小程序 首字母排序选择 (源码)微信小...
公共部门人力资源管理选择判断按字母排序.doc
Android城市列表 按字母排序 Android城市列表 按字母排序 Android城市列表 按字母排序
按字母排序的汽车品牌 json数据 按字母排序的汽车品牌 json数据
非常好用的按首字母排序demo,可以更改数据文件,实现不同数据的排序
vue + elementui自定义按首字母排序下拉列表组件,可点击字母定位到对应选项,支持选中事件,可扩展
首字母排序选择
android按字母排序的省份列表类似通讯录的字母索引.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
listview里的item按中文名的首字母排序,并且显示字母索引
读取系统联系人保存到sqlite数据库,将数据库中的联系人名字按字母排序,listview实现两种布局
全国城市名按字母排序的plist文件,除去后缀
IOS根据汉字(或英文)按字母排序并按首字母分组
按首字母排序全国城市json文件
最近做一个类似通讯录的功能,按字母排序,并可以快速搜 最近做一个类似通讯录的功能,按字母排序,并可以快速搜