最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java求數(shù)組元素重復(fù)次數(shù)和java字符串比較大小示例

 更新時間:2014年04月30日 11:48:19   作者:  
這篇文章主要介紹了java求數(shù)組元素重復(fù)次數(shù)和java字符串比較大小示例,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

/**
 * Name: 求數(shù)組中元素重復(fù)次數(shù)對多的數(shù)和重復(fù)次數(shù)
 * Description:
 * 數(shù)組中的元素可能會重復(fù),這個方法可以找出重復(fù)次數(shù)最多的數(shù),同時可以返回重復(fù)了多少次。
 * 但需要知道這個數(shù)組中最大的元素是多少,如果無法確定,就悲劇啦~
 *
 * @param array目標(biāo)數(shù)組;
 *           max數(shù)組中數(shù)據(jù)的最大值;
 * @return 返回一個包含重復(fù)次數(shù)最多的數(shù)(value)和重復(fù)次數(shù)(maxCount)的map集合;
 *                  內(nèi)部出現(xiàn)異常,默認(rèn)返回0;
 * @throws
 * @Author 楊元
 */
public static Map<String, Integer> arraySearch(int[] array,int max){
  //結(jié)果集合
  Map<String, Integer> resultMap = new HashMap<String, Integer>();
  //重復(fù)的次數(shù)
  int maxCount = 0;
  //重復(fù)次數(shù)對多的數(shù)
  int value = 0;

  try{
    //初始化數(shù)據(jù)數(shù)組,用來存放每個元素出現(xiàn)的次數(shù)
    int[] dataArray = new int[max+1];

    //遍歷要查找的數(shù)組,以每個元素為下標(biāo),直接定位數(shù)據(jù)數(shù)組,進(jìn)行+1操作,表示出現(xiàn)了一次
    for(int i : array){
      dataArray[i]++;
    }

    //找到數(shù)據(jù)數(shù)組中最大值
    for(int i=0;i<dataArray.length;i++){
      if(dataArray[i]>maxCount){
        maxCount=dataArray[i];
        value=i;
      }
    }
  }catch (Exception e) {}

  resultMap.put("maxCount", maxCount);
  resultMap.put("value", value);

  return resultMap;
}

/**
 * Name: 比較兩個字符串大小
 * Description: 比較的規(guī)則和數(shù)據(jù)庫中的order by效果一致;
 *                 null自動轉(zhuǎn)為空,空字符串最大;
 *
 * @param first 要比較的第一個字符串;
 *           second 要比較的第二個字符串;
 * @return first大于second返回正數(shù);
 *            first等于second返回0;
 *         first小于second返回負(fù)數(shù);
 *         內(nèi)部異常默認(rèn)返回0;
 *         返回值非固定值哦~~;
 * @throws
 * @Author 楊元
 */
public static int compareString(String first,String second){
  int result = 0;

  try{
    //null轉(zhuǎn)空
    first = first==null?"":first;
    second = second==null?"":second;

    //預(yù)先記錄字符串長度,避免反復(fù)讀取
    int firstLength=first.length();
    int secondLength=second.length();

    //處理含有空串的特殊情況
    if("".equals(first) || "".equals(second)){
      //誰長誰小
      result = secondLength-firstLength;
    }else{
      //臨時空間,用來存放ascii碼總和
      int firstCount = 0;
      int secondCount = 0;
      //用純運算得出兩個數(shù)中較小的數(shù),實在是bt
      int minLength = (secondLength*(firstLength/secondLength) + firstLength*(secondLength/firstLength))/(firstLength/secondLength + secondLength/firstLength);
      //按兩個字符串中較短的位數(shù)去逐位截取,防止越界
      for(int i=0;i<minLength;i++){
        //求ascii碼和
        firstCount+=first.substring(i,i+1).getBytes()[0];
        secondCount+=second.substring(i,i+1).getBytes()[0];
        //和不相等,說明已經(jīng)比較出了大小
        if(firstCount!=secondCount){
          break;
        }
      }

      if(firstCount==secondCount){
        //長度長的大
        result = firstLength-secondLength;
      }else{
        //總和大的大
        result = firstCount-secondCount;
      }
    }
  }catch (Exception e) {}

  return result;
}

相關(guān)文章

  • MyBatis自定義SQL攔截器示例詳解

    MyBatis自定義SQL攔截器示例詳解

    Mybatis支持對Executor、StatementHandler、PameterHandler和ResultSetHandler 接口進(jìn)行攔截,也就是說會對這4種對象進(jìn)行代理,下面這篇文章主要給大家介紹了關(guān)于MyBatis自定義SQL攔截器的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • springboot靜態(tài)資源的配置方式

    springboot靜態(tài)資源的配置方式

    這篇文章主要介紹了springboot靜態(tài)資源的配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java1.8中LocalDate方法使用總結(jié)

    Java1.8中LocalDate方法使用總結(jié)

    LocalDate是Java8中的一個日期類,用于表示年月日,它是不可變的,線程安全的,下面這篇文章主要給大家介紹了關(guān)于Java1.8中LocalDate方法使用的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • java隊列之queue用法實例分析

    java隊列之queue用法實例分析

    這篇文章主要介紹了java隊列之queue用法實例分析,Queue 隊列就是一個先入先出(FIFO)的數(shù)據(jù)結(jié)構(gòu),Queue接口繼承Collection接口。感興趣的可以了解一下
    2020-07-07
  • Java+OpenCV實現(xiàn)圖片中的人臉識別

    Java+OpenCV實現(xiàn)圖片中的人臉識別

    這篇文章主要介紹了如何利用java?opencv實現(xiàn)人臉識別功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 詳解Spring與Mybatis整合方法(基于IDEA中的Maven整合)

    詳解Spring與Mybatis整合方法(基于IDEA中的Maven整合)

    這篇文章主要介紹了Spring與Mybatis整合方法(基于IDEA中的Maven整合),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • java計算給定字符串中出現(xiàn)次數(shù)最多的字母和該字母出現(xiàn)次數(shù)的方法

    java計算給定字符串中出現(xiàn)次數(shù)最多的字母和該字母出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了java計算給定字符串中出現(xiàn)次數(shù)最多的字母和該字母出現(xiàn)次數(shù)的方法,涉及java字符串的遍歷、轉(zhuǎn)換及運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02
  • gateway、webflux、reactor-netty請求日志輸出方式

    gateway、webflux、reactor-netty請求日志輸出方式

    這篇文章主要介紹了gateway、webflux、reactor-netty請求日志輸出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java使用代理進(jìn)行網(wǎng)絡(luò)連接方法示例

    Java使用代理進(jìn)行網(wǎng)絡(luò)連接方法示例

    這篇文章主要介紹了Java使用代理進(jìn)行網(wǎng)絡(luò)連接方法示例,內(nèi)容十分詳細(xì),需要的朋友可以參考下。
    2017-09-09
  • Java this關(guān)鍵字的使用詳解

    Java this關(guān)鍵字的使用詳解

    this 關(guān)鍵字是 Java 常用的關(guān)鍵字,可用于任何實例方法內(nèi)指向當(dāng)前對象,也可指向?qū)ζ湔{(diào)用當(dāng)前方法的對象,或者在需要當(dāng)前類型對象引用時使用
    2021-11-11

最新評論

仁怀市| 嘉鱼县| 鹿邑县| 舞阳县| 宜兴市| 民乐县| 休宁县| 平罗县| 礼泉县| 景谷| 梅河口市| 新疆| 丰顺县| 宾川县| 湟源县| 河曲县| 无锡市| 启东市| 靖江市| 崇明县| 邵武市| 广水市| 东阳市| 调兵山市| 鄂州市| 衡南县| 英德市| 天长市| 平山县| 富宁县| 十堰市| 财经| 江川县| 苍山县| 赤峰市| 福海县| 汝阳县| 拜泉县| 汉源县| 江阴市| 晋宁县|