时间:2021-05-19
若是将两个字符串直接比较大小,会包:The operator > is undefined for the argument type(s) java.lang.String, java.lang.String的错误。
字符串比较大小可以用字符串长度或者是比较字符串内字符的ASCII码值,前者太简单,就不进行讲述记录。
字符串用ASCII码比较大小,规则是:
1、比较首字母的ASCII码大小
2、若是前面的字母相同,则比较之后的字母的ASCII码值
3、若是一个字符串从首字母开始包含另一个字符串,则认为字符串长度较长的大;例 :abc > ab
备注:代码中使用commons-logging-1.2.jar,排序从小到大
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * 对字符串数组进行排序 * @author panjianghong * @since 2016/8/31 * */public class StringSort { private static final Log _log = LogFactory.getLog(StringSort.class); /** * 对字符串数组进行排序 * @param keys * @return * */ public static String[] getUrlParam(String[] keys){ for (int i = 0; i < keys.length - 1; i++) { for (int j = 0; j < keys.length - i -1; j++) { String pre = keys[j]; String next = keys[j + 1]; if(isMoreThan(pre, next)){ String temp = pre; keys[j] = next; keys[j+1] = temp; } } } return keys; } /** * 比较两个字符串的大小,按字母的ASCII码比较 * @param pre * @param next * @return * */ private static boolean isMoreThan(String pre, String next){ if(null == pre || null == next || "".equals(pre) || "".equals(next)){ _log.error("字符串比较数据不能为空!"); return false; } char[] c_pre = pre.toCharArray(); char[] c_next = next.toCharArray(); int minSize = Math.min(c_pre.length, c_next.length); for (int i = 0; i < minSize; i++) { if((int)c_pre[i] > (int)c_next[i]){ return true; }else if((int)c_pre[i] < (int)c_next[i]){ return false; } } if(c_pre.length > c_next.length){ return true; } return false; } public static void main(String[] args) { String[] keys = getUrlParam(new String[]{"fin","abc","shidema","shide","bushi"}); for (String key : keys) { System.out.println(key); } }}控制台打印结果为:
abc
bushi
fin
shide
shidema
以上这篇java字符串数组进行大小排序的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JavaScript数组的sort()函数是按字符串大小排序,不能正确对一组数字进行排序下面的小程序通过一个自编的函数实现了对一组数字进行排序的功能.funct
后缀数组的一些基本概念请自行百度,简单来说后缀数组就是一个字符串所有后缀大小排序后的一个集合,然后我们根据后缀数组的一些性质就可以实现各种需求。?1234567
sort()方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串UniCode码。因为排序是按照字符串UniCode码的顺序进行排序的,所以首先应
本文实例讲述了Java实现数组转字符串及字符串转数组的方法。分享给大家供大家参考,具体如下:字符串转数组使用Javasplit()方法split()方法根据匹配
遇到了一个对包含中文的字符串进行排序的问题。要求按unicode编码对字符串进行排序。测试字符串数组如下:String[]arr={"1-测试","1-编辑",