标签:
/**     * 根据特定规格,判断两个Map是否相等     */    private static boolean isEquals(Map<String, String> src, Map<String, String> dest, String[] samekey) {        boolean equals = true;        StringBuffer sbf_src = new StringBuffer();        StringBuffer sbf_dest = new StringBuffer();        for (int i = 0; i < samekey.length; i++) {            sbf_src.append(src.get(samekey[i]));            sbf_dest.append(dest.get(samekey[i]));        }        if (sbf_src.toString().equals(sbf_dest.toString())) {            equals = true;        } else {            equals = false;        }        return equals;    }    /**     * 获得list中有没有相同的keyMap(待需找的map)<br>     * 如果找到则返回这个list和keyMap相同Map的下标,否则返回-1     */    private static int getEqualsMap(List<Map<String, String>> list, Map<String, String> keyMap, String[] samekey) {        int equalsIndex = -1;        for (int i = 0; i < list.size(); i++) {            Map<String, String> tempMap = list.get(i);            if (isEquals(tempMap, keyMap, samekey)) {                equalsIndex = i;            }        }        return equalsIndex;    }    /**     * 合并List中相同的Map     *     * @param list     * @return     */    public static List<Map<String, String>> combineList(List<Map<String, String>> list, String[] samekey,String combinekey) {        List<Map<String, String>> retList = new ArrayList<Map<String, String>>();        for (int i = 0; i < list.size(); i++) {            Map<String, String> tempMap = list.get(i);            int equalsIndex = getEqualsMap(retList, tempMap, samekey);            if (-1 == equalsIndex) {                retList.add(tempMap);            } else {                String custSrc = retList.get(equalsIndex).get(combinekey);                int custSrcInt = Integer.parseInt(custSrc.substring(0, custSrc.length() - 1));                String custTemp = tempMap.get(combinekey);                int custTempInt = Integer.parseInt(custTemp.substring(0, custTemp.length() - 1));                String destCust = (custSrcInt + custTempInt) + custSrc.substring(custSrc.length() - 1);                retList.get(equalsIndex).put(combinekey, destCust);            }        }        return retList;    }版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/moneyshi/article/details/41081313