Java的list自定义工具类ListUtils

Java的list自定义工具类ListUtils

/**
	 * 将list中map的key为ID的值作为KEY在套一层
	 */
	public static Map<String, Map<String, String>> keyToID(
			List<Map<String, String>> datalist) {
		Map<String, Map<String, String>> res = new HashMap<String, Map<String, String>>();
		for (Map<String, String> map : datalist) {
			String id = map.get("ID");
			res.put(id, map);
		}
		return res;
	}

	/**
	 * 移除List中所有Map的某个元素
	 * 
	 * @param dataByOwnerList
	 * @param key
	 * @return
	 */
	public static List<Map<String, String>> removeMapElementInList(
			List<Map<String, String>> dataList, String key) {
		for (Map<String, String> map : dataList) {
			map.remove(key);
		}
		return dataList;
	}


	/**
	 * 将List<MAP>类型map的value取出存入List<List<Object>>
	 * 
	 * @param deallist
	 * @return
	 */
	public static List<List<Object>> getForlist(
			List<Map<String, Object>> deallist) {
		List<List<Object>> list = new ArrayList<List<Object>>();
		for (Map<String, Object> map : deallist) {
			List<Object> list2 = new ArrayList<Object>(map.values());
			list.add(list2);
		}
		return list;
	}

	/**
	 * 将List<MAP>类型map的value取出存入List<String> 如果value为null或者空字符串则为null
	 * 
	 * @param deallist
	 * @return
	 */
	public static List<String> getForlistString(
			List<Map<String, String>> deallist) {
		List<String> list = new ArrayList<String>();
		for (Map<String, String> map : deallist) {
			for (Map.Entry<String, String> string : map.entrySet()) {
				String str = string.getValue();
				if (str == null || str.length() <= 0) {
					str = "null";
				}
				list.add(str);
			}
		}
		return list;
	}

	/**
	 * 将list转化为带有左右括号的sql查询条件语句,如 in (2,3,4)
	 * 
	 * @author:mazhen
	 */
	public static String toSqlConditonalStatement(List<String> list) {
		if (null == list || list.size() == 0) {
			try {
				throw new Exception("因为sql查询语句不能为空,所以传入的list不能为空");
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		StringBuffer conditionalStatement = new StringBuffer();
		conditionalStatement.append("(");
		for (String str : list) {
			conditionalStatement.append(str);
			conditionalStatement.append(",");
		}
		return conditionalStatement.toString().substring(0,
				conditionalStatement.toString().length() - 1)
				+ ")";

	}

	/**
	 * 判断List<String>里面有没有重复的值
	 * 
	 * @param list
	 * @return
	 */
	public static boolean isOverlap(List<String> list) {
		String temp = "";
		for (int i = 0; i < list.size() - 1; i++) {
			temp = list.get(i);
			for (int j = i + 1; j < list.size(); j++) {
				if (temp.equals(list.get(j))) {
					return false;
					// System.out.println("第" + (i + 1) + "个跟第" + (j + 1)
					// + "个重复,值是:" + temp);
				}
			}
		}
		return true;
	}

	/**
	 * 处理mapList中key为log_name的value,将value由路径+名称修改为仅有名称
	 * 
	 * @author : mazhen
	 * 
	 * @param mapList
	 * @return
	 */
	public static List<Map<String, Object>> deletePathOfLogName(
			List<Map<String, Object>> mapList) {
		List<Map<String, Object>> relist = new ArrayList<Map<String, Object>>();
		for (Map<String, Object> map : mapList) {
			String pathAndName = map.get("log_name") + "";
			String[] pathAndNames = pathAndName.split(";");
			String names = "";
			for (String str : pathAndNames) {
				names += FileUtil.getFileNameFromPath(str) + ";";
			}
			names = names.substring(0, names.length() - 1);
			map.put("log_name", names);
			relist.add(map);
		}
		return relist;

	}

	/**
	 * 合并两个list
	 * 
	 * @return
	 */
	public static List<String> sumList(List<String> a, List<String> b) {
		List<String> list = new ArrayList<>();
		if (a != null && a.size() > 0) {
			for (String string : a) {
				list.add(string);
			}
		}
		if (b != null && b.size() > 0) {
			for (String string : b) {
				list.add(string);
			}
		}
		return list;
	}

	/**
	 * 合并两个ListMap
	 * 
	 * @return
	 */
	public static List<Map<String, String>> sumListMap(
			List<Map<String, String>> listA, List<Map<String, String>> listB) {
		List<Map<String, String>> list = new ArrayList<Map<String, String>>();

		if (listA != null && listA.size() > 0) {
			for (Map<String, String> object : listA) {
				list.add(object);
			}
		}
		if (listB != null && listB.size() > 0) {
			for (Map<String, String> object : listB) {
				list.add(object);
			}
		}
		return list;
	}

	public static List<Map<String, String>> objectToString(
			List<Map<String, Object>> list) {
		List<Map<String, String>> res = new ArrayList<Map<String, String>>();
		for (Map<String, Object> map : list) {
			res.add(MapUtil.objectToString(map));
		}
		return res;
	}
	
	
	
	/**
	 * 将查询到的结果转换成以key为键值的map,并将key从结果集中删掉
	 * @param map
	 * @return
	 */
	public static Map<String,Object> ListToMapKeyId(List<Map<String,Object>> map,String key,String value){
		Map<String,Object> map1 = new HashMap<String,Object>();
		if(map.isEmpty()){
			return null;
		}
		for(int i = 0; i < map.size();i++){
			Map<String,Object> idMap = new HashMap<String,Object>();
			idMap = map.get(i);
			try{
				String id = String.valueOf(idMap.get(key));
				if(value!=null&&!value.equals("")){
					map1.put(id, idMap.get(value));
				}else{
					idMap.remove(key);
					map1.put(id, idMap);
					
				}
				
			}catch(Exception e){
				e.printStackTrace();
			}
			
		}
		return map1;	
	}


//	public static List<Map<String, String>> objectToString(
//			List<Map<String, Object>> list) {
//		List<Map<String, String>> res = new ArrayList<Map<String, String>>();
//		for (Map<String, Object> map : list) {
//			res.add(MapUtil.objectToString(map));
//		}
//		return res;
//	}
	public static String ListToStrBySplit(String[] tableNameList, String split){
		StringBuffer buf = new StringBuffer();
		for(int i = 0; i < tableNameList.length;i++){
			buf.append(tableNameList[i]);
			if(i!=tableNameList.length-1){
				buf.append(split);
			}
			
		}
		return buf.toString();
		
	}
	
	public static String ListToStrBySplit(Object[] tableNameList, String split){
		StringBuffer buf = new StringBuffer();
		for(int i = 0; i < tableNameList.length;i++){
			buf.append(tableNameList[i]);
			if(i!=tableNameList.length-1){
				buf.append(split);
			}
			
		}
		return buf.toString();
		
	}
	public static Map<String,String> ListMapToMap(List<Map<String,Object>> list){
		Map<String,String> map = new HashMap<String,String>();
		if(list !=null && list.size()>0){
			for(int i = 0; i < list.size();i++){
				Map<String,Object> listMap = list.get(i);
				Set<String> sets = listMap.keySet();
				for(String set:sets){
					map.put((String) listMap.get(set), "Y");
				}
					
			}
		}

		return map;
		
	}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://bjspace.net/post/47

相关推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 抛媚眼 调皮 鄙视 示爱 哭 开心 偷笑 嘘 奸笑 委屈 抱抱 Dog 大兵 威武

评论信息框

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!