java 문자열 그룹 크기 정렬의 간단한 실현

두 문자열을 직접 크기를 비교하면 패키지: 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
이상의 이 자바 문자열 수조가 크기 정렬을 하는 간단한 실현은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기