java listutils_Java的list自定义工具类ListUtils
/**
* 将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相关推荐
- java validate校验_自定义工具类实现validate参数校验
前言 相信项目中做一些htttp接口,避免不了要对参数进行校验,大多数情况下,其实我们只是校验是否为NULL就可以了 1.通过注解实现各种状态的字段 1.1.引入依赖 默认的版本是6.0.9.Fina ...
- 【开发随机】JAVA+POI+自定义注解+反射构建自定义工具类实现快捷简便的Excel模板化导出(附demo代码)
220907更新 项目UAT期间,用户反映了一个问题,数据量稍大的情况下,会出现"从某一行开始,往下所有行设置的字体和字体大小不生效"的BUG. 经过排查,发现原因是:POI的XS ...
- 第三次学JAVA再学不好就吃翔(part27)--自定义工具类
学习笔记,仅供参考 面向对象 自定义工具类中使用静态方法 有的时候,我们需要创建一个自己的工具类,方便工作和学习中使用. 在工具类中,我们要在里面放一些静态的方法,方便我们用类名调用,这时,为了防止有 ...
- java inputtools_Java后台开发常用工具类
本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数据库连接.格式转换.文件操作.发送邮件等等.提高开发效率,欢迎收藏与转载. 数据库连接工具类 数据库连接工具类--仅仅获得连接对象 ...
- 自定义工具类:工具类介绍
自定义工具类 自定义注解 自定义注解 package com.learn.domain.poi;import java.lang.annotation.ElementType; import java ...
- 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 ...
- 【java笔记】Collections集合工具类
java.utils.Collections是集合工具类,用来对集合进行操作 常用方法: public static<T>boolean addAll(Collection<T> ...
- python如何设计工具类_Python基础之自定义工具类
class ListHelper: @staticmethod def find_all(target, func_condition): """ 查找列表中满足条件的所 ...
- springboot自定义工具类构建打包踩坑经历
前言 1.如何打包一个工具类? 2.如何在工具类中引入第三方jar包? 3.如何在调用工具类时能够正确识别工具类中的静态资源? 4.如何在静态方法中注入变量? 如果你有以上问题,请看下去,相信对你有帮 ...
最新文章
- Linq初级班 Linq To XML体验(基础篇)
- java手机游戏模拟器下载_Java手机游戏模拟器
- 【SpringBoot Testing】测试类/测试用例格式
- 使用docker-compose搭建AspNetCore开发环境
- mysql 横向分表合并_MySQL横向扩展-分库分表解决方案总结
- opencv Mat常用操作
- python操作excel常用的方法
- 从一个登录页面浅淡MVVM(二)
- 可重入性和线程安全性
- 汇编 内存段划分和寄存器
- Django1.9重写用户模型报错has no attribute 'USERNAME_FIELD'
- 两数求和的c语言程序代码,c语言求和(c语言求和代码)
- 计算机显示应用程序错误窗口,电脑出现应用程序错误窗口怎么办
- Google Coral USB加速器介绍
- 计算机网络原理 谢希仁(第8版)第三章习题答案
- 《青春有你2》选手信息爬取
- linux怎么卸载gdb,卸载GDB 包
- bootstrap 样式下 Se7en 模板使用(1)操作提示信息框
- Sqlite3中对于毫秒数和本地时间之间的转换以及时间相关操作
- php关于控制器和操作系统,ThinkPHP控制器学习(一)