java char 排序

  static char[] sortChars2(char[] src){

	  ArrayList list = new ArrayList();

	  System.out.println(String.valueOf(src));

	  for(int i=0;i<src.length;i++){

		  if((int)src[i]>=65&&(int)src[i]<=90)

			  list.add(src[i]);

	  }

	  for(int i=0;i<src.length;i++){

		  if((int)src[i]>=65&&(int)src[i]<=90)

			  src[i] = (char)(src[i] + 32);

	  }

	  Arrays.sort(src);

	  System.out.println(String.valueOf(src));

	  for(int i=0;i<list.size();i++){

		  for(int k=0;k<src.length;k++){

			  if(String.valueOf(src[k]).equalsIgnoreCase(String.valueOf(list.get(i)))&&

					  src[k]>=97&&src[k]<=122){

				  src[k] = (char)(src[k] - 32);

				  break;

			  }

		  }

	  }

	  System.out.println(String.valueOf(src));

	  return src;

  }

  public static char[] sortChars(char[] chs, final boolean upperFisrt) {

		Character[] srcArray = new Character[chs.length];

		char[] retArray = new char[chs.length];

		int index = 0;



		for (char ch : chs) {

			srcArray[index++] = ch;

		}



		Arrays.sort(srcArray, new Comparator<Character>() {

			public int compare(Character c1, Character c2) {

				char ch1 = Character.toUpperCase(c1);

				char ch2 = Character.toUpperCase(c2);



				if (ch1 == ch2) {

					int tempRet = c1.charValue() - c2.charValue();

					return upperFisrt ? tempRet : -tempRet;

				} else {

					return ch1 - ch2;

				}

			}

		});

		

		index = 0;



		for (char ch : srcArray) {

			retArray[index++] = ch;

		}



		return retArray;

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值