java - 两个size大小大于300w个的List<Map<String,Obkect>>进行配对运算,及排序.这样速度是不是很慢
PHP中文网
PHP中文网 2017-04-17 17:46:28
0
1
478

这样的运行速度快吗
private List<Map<String, Object>> getRankingList(RankingCachingParameter parameterObject) {

    List<Map<String,Object>> nowDay = isMapper.getdata(parameterObject.day)//从数据库中得到数据;
    List<Map<String,Object>> yesterdayDay =     isMapper.getdata(parameterObject.yesterday)//从数据库中得到数据;
    Map<String,Map<String,Object>> yesterdayDayMap=new HashMap<String,Map<String,Object>>(65536);
    yesterdayDay.parallelStream().forEach((Map<String,Object> map) ->{
        Long numiid=(Long) map.get("numiid");
        Integer type=(Integer) map.get("type");
        Integer page=(Integer) map.get("page");
        String gener=""+numiid+type+page;
        yesterdayDayMap.put(gener, map);
    });
    nowDay.parallelStream().forEach((Map<String,Object> map) ->{
        Long numiid=(Long) map.get("numiid");
        Integer type=(Integer) map.get("type");
        Integer page=(Integer) map.get("page");
        Integer nowdayKeyWord=(Integer) map.get("keywordCount");
        String gener=""+numiid+type+page;
        Integer yesterdayKeyWord = (Integer) yesterdayDayMap.get(gener).get("keywordCount");
        double growthIndex = (nowdayKeyWord-yesterdayKeyWord)/nowdayKeyWord;
        map.put("growthIndex", growthIndex);
    });
    if(parameterObject.orderBy.equals("growthIndex")){
        nowDay.sort((Map<String,Object> map1,Map<String,Object> map2) ->{
            Double growthIndex1 = (Double) map1.get("growthIndex");
            Double growthIndex2 = (Double) map2.get("growthIndex");
            if (growthIndex2 != null) {
                return growthIndex1.compareTo(growthIndex2);
            }
               return 0;
              
        });
    }
    return nowDay;
}
PHP中文网
PHP中文网

认证0级讲师

모든 응답(1)
阿神

음. . . . . 직접 list.sorted((o1,o2)->o1.keySet().hashCode() - o2.keySet().hashCode()).forEach(...)
어떻게 이렇게 귀찮을 수가 있나요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!