/**

* 将list中map的key为ID的值作为KEY在套一层

*/

public static Map> keyToID(

List> datalist) {

Map> res = new HashMap>();

for (Map map : datalist) {

String id = map.get("ID");

res.put(id, map);

}

return res;

}

/**

* 移除List中所有Map的某个元素

*

* @param dataByOwnerList

* @param key

* @return

*/

public static List> removeMapElementInList(

List> dataList, String key) {

for (Map map : dataList) {

map.remove(key);

}

return dataList;

}

/**

* 将List类型map的value取出存入List>

*

* @param deallist

* @return

*/

public static List> getForlist(

List> deallist) {

List> list = new ArrayList>();

for (Map map : deallist) {

List list2 = new ArrayList(map.values());

list.add(list2);

}

return list;

}

/**

* 将List类型map的value取出存入List 如果value为null或者空字符串则为null

*

* @param deallist

* @return

*/

public static List getForlistString(

List> deallist) {

List list = new ArrayList();

for (Map map : deallist) {

for (Map.Entry 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 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里面有没有重复的值

*

* @param list

* @return

*/

public static boolean isOverlap(List 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> deletePathOfLogName(

List> mapList) {

List> relist = new ArrayList>();

for (Map 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 sumList(List a, List b) {

List 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> sumListMap(

List> listA, List> listB) {

List> list = new ArrayList>();

if (listA != null && listA.size() > 0) {

for (Map object : listA) {

list.add(object);

}

}

if (listB != null && listB.size() > 0) {

for (Map object : listB) {

list.add(object);

}

}

return list;

}

public static List> objectToString(

List> list) {

List> res = new ArrayList>();

for (Map map : list) {

res.add(MapUtil.objectToString(map));

}

return res;

}

/**

* 将查询到的结果转换成以key为键值的map,并将key从结果集中删掉

* @param map

* @return

*/

public static Map ListToMapKeyId(List> map,String key,String value){

Map map1 = new HashMap();

if(map.isEmpty()){

return null;

}

for(int i = 0; i < map.size();i++){

Map idMap = new HashMap();

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> objectToString(

//List> list) {

//List> res = new ArrayList>();

//for (Map 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 ListMapToMap(List> list){

Map map = new HashMap();

if(list !=null && list.size()>0){

for(int i = 0; i < list.size();i++){

Map listMap = list.get(i);

Set sets = listMap.keySet();

for(String set:sets){

map.put((String) listMap.get(set), "Y");

}

}

}

return map;

}

java listutils_Java的list自定义工具类ListUtils相关推荐

  1. java validate校验_自定义工具类实现validate参数校验

    前言 相信项目中做一些htttp接口,避免不了要对参数进行校验,大多数情况下,其实我们只是校验是否为NULL就可以了 1.通过注解实现各种状态的字段 1.1.引入依赖 默认的版本是6.0.9.Fina ...

  2. 【开发随机】JAVA+POI+自定义注解+反射构建自定义工具类实现快捷简便的Excel模板化导出(附demo代码)

    220907更新 项目UAT期间,用户反映了一个问题,数据量稍大的情况下,会出现"从某一行开始,往下所有行设置的字体和字体大小不生效"的BUG. 经过排查,发现原因是:POI的XS ...

  3. 第三次学JAVA再学不好就吃翔(part27)--自定义工具类

    学习笔记,仅供参考 面向对象 自定义工具类中使用静态方法 有的时候,我们需要创建一个自己的工具类,方便工作和学习中使用. 在工具类中,我们要在里面放一些静态的方法,方便我们用类名调用,这时,为了防止有 ...

  4. java inputtools_Java后台开发常用工具类

    本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接.格式转换.文件操作.发送邮件等等.提高开发效率,欢迎收藏与转载. 数据库连接工具类 数据库连接工具类--仅仅获得连接对象 ...

  5. 自定义工具类:工具类介绍

    自定义工具类 自定义注解 自定义注解 package com.learn.domain.poi;import java.lang.annotation.ElementType; import java ...

  6. java 兼容excel_Java解析Excel工具类(兼容xls和xlsx)

    依赖jar org.apache.poi poi-ooxml 4.0.1 ExcelUtils.java package javax.utils; import java.io.File; impor ...

  7. 【java笔记】Collections集合工具类

    java.utils.Collections是集合工具类,用来对集合进行操作 常用方法: public static<T>boolean addAll(Collection<T> ...

  8. python如何设计工具类_Python基础之自定义工具类

    class ListHelper: @staticmethod def find_all(target, func_condition): """ 查找列表中满足条件的所 ...

  9. springboot自定义工具类构建打包踩坑经历

    前言 1.如何打包一个工具类? 2.如何在工具类中引入第三方jar包? 3.如何在调用工具类时能够正确识别工具类中的静态资源? 4.如何在静态方法中注入变量? 如果你有以上问题,请看下去,相信对你有帮 ...

最新文章

  1. Linq初级班 Linq To XML体验(基础篇)
  2. java手机游戏模拟器下载_Java手机游戏模拟器
  3. 【SpringBoot Testing】测试类/测试用例格式
  4. 使用docker-compose搭建AspNetCore开发环境
  5. mysql 横向分表合并_MySQL横向扩展-分库分表解决方案总结
  6. opencv Mat常用操作
  7. python操作excel常用的方法
  8. 从一个登录页面浅淡MVVM(二)
  9. 可重入性和线程安全性
  10. 汇编 内存段划分和寄存器
  11. Django1.9重写用户模型报错has no attribute 'USERNAME_FIELD'
  12. 两数求和的c语言程序代码,c语言求和(c语言求和代码)
  13. 计算机显示应用程序错误窗口,电脑出现应用程序错误窗口怎么办
  14. Google Coral USB加速器介绍
  15. 计算机网络原理 谢希仁(第8版)第三章习题答案
  16. 《青春有你2》选手信息爬取
  17. linux怎么卸载gdb,卸载GDB 包
  18. bootstrap 样式下 Se7en 模板使用(1)操作提示信息框
  19. Sqlite3中对于毫秒数和本地时间之间的转换以及时间相关操作
  20. php关于控制器和操作系统,ThinkPHP控制器学习(一)

热门文章

  1. 第二季3:海思MPP模块与视频缓冲池
  2. 字符设备驱动基础篇4——字符设备驱动读写接口的操作实践
  3. 二维数组数和指针操作的理解
  4. POJ 3461Oulipo KMP模板
  5. unique离散化用法
  6. [JZOJ P1288] [DP]矩阵取数
  7. 基于bootstrap框架在ie8以下,兼容媒体查询[css样式]
  8. EasyDarwin开源流媒体服务器性能瓶颈分析及优化方案设计
  9. 提交app时候90475,90474
  10. Java入门到精通——基础篇之static关键字