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;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue 高德地图 不同区域显示不同颜色_高德百度哪家强?苹果Carplay第三方分屏功能评测...

几天前&#xff0c;苹果公司正式更新了iOS13.4版本。一个小版本系统更新&#xff0c;却让车主群热闹了起来。在这个版本中&#xff0c;苹果正式开放了Carplay分屏显示模式下对第三方地图的支持。车主们的热情&#xff0c;化为高德地图和百度地图微博下网友的催更。不过&#xf…

python 全局变量、局部变量

from 《流畅的python》 def f1(a):print(a)print(b) f1(3)# NameError: name b is not defineddef f1(a):print(a)print(b)b 5 # 全局变量 f1(3) # 输出正常python编译时&#xff0c;判断 b 是局部变量&#xff0c;因为在函数中给他赋值了 当打印 b 时&#xff0c;发现 b 没…

BZOJ 1452 [JSOI2009] Count

这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(xlowbit(x)){loop(ylowbit(y)){}} 查询loop(x-lowbit(x)){loop(y-lowbit(y)){}} 然后查询区间当然是用容斥... 假设查询(x11,y11)(x…

同花顺如何切换k线_30分钟线可分析出庄家的意图:教你如何用30分钟K线选股做超短线...

30分钟做超短线的好处1、兼具超短线和短线的优点&#xff0c;是联系超短周期和短周期的有利武器。2、30分钟线把一天分成8个部分&#xff0c;正好是一个神奇数字&#xff0c;自然界中很多神奇的规律不可不信&#xff01;3、对于庄家控盘的股票&#xff0c;30分钟线可分析出庄家…

LeetCode 1925. 统计平方和三元组的数目

文章目录1. 题目2. 解题1. 题目 一个 平方和三元组 (a,b,c) 指的是满足 a2b2c2a^2 b^2 c^2a2b2c2 的 整数 三元组 a&#xff0c;b 和 c 。 给你一个整数 n &#xff0c;请你返回满足 1 < a, b, c < n 的 平方和三元组 的数目。 示例 1&#xff1a; 输入&#xff1a;…

JAVA软件工程师应该具备的技能有哪些?

前言&#xff1a;有朋友问我&#xff1a;学历和能力哪个重要&#xff1f;我个人觉得能力大于学历&#xff0c;没有能力哪来的学历&#xff0c;学历只是证明能力的一方面。为此在能力方面畅谈java软件工程师必备的能力。作为一名合格的java工程师&#xff0c;不仅需要学历&#…

石头剪刀布程序流程图_机器学习终章:剪刀石头布猜拳机器人

8.1. 简介TensorFlow对于我们普通人来说一直是高冷的存在&#xff0c;都是大神们的狂欢。喵家最近将TensorFlow移植到喵家编程软件Kittenblock中&#xff0c;希望能让人工智能&#xff0c;机器学习尽快落地。能让普通用户也能用上这个好用的机器学习框架&#xff0c;解决生活中…

java 工厂模式的写法_java工厂模式三种详解

工厂方法模式(Factory Method)工厂方法模式分为三种&#xff1a;1、普通工厂模式&#xff0c;就是建立一个工厂类&#xff0c;对实现了同一接口的一些类进行实例的创建。首先看下关系图&#xff1a;举例如下&#xff1a;(我们举一个发送邮件和短信的例子)首先&#xff0c;创建二…

LeetCode 1926. 迷宫中离入口最近的出口(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的迷宫矩阵 maze &#xff08;下标从 0 开始&#xff09;&#xff0c;矩阵中有空格子&#xff08;用 . 表示&#xff09;和墙&#xff08;用 表示&#xff09;。 同时给你迷宫的入口 entrance &#xff0c;用 entrance [entra…

angularjs 表单验证 和 页面初始化闪烁

1.页面初始化闪烁 因为angularjs需要先解析html页面的指令的&#xff0c;才可以启动指令功能。angularjs需要等待整个文档加载完成才会解析&#xff0c;所以会出现一些{{xxx}}, ng-show, ng-hide指令内容一闪而过的问题,解决办法&#xff1a; 在存在闪烁的元素上添加ng-cloak …

python gis 实例_用Python作GIS之五:从示例入手—example函数

进入STARS后&#xff0c;最简单的学习方法就是演示示例数据。对于源码的分析也可以从这里入手。以下为出发菜单项“Example Project”的函数example&#xff1a;def example(self):"""canned loading of data files and matrices for debugging""&quo…

java jdbc操作类_Java-编写一个jdbc操作类

package数据库操作类;/** Db.javaCreated on 2007年8月20日, 上午 8:37*/import java.io.*;import java.sql.*;importjava.util.Properties;public classDB {privateString driver;privateString url;privateString user;privateString password;privateConnection conn;privat…

第一次冲刺第二天

昨天是冲刺的第一天&#xff0c;我完成了自己认领的任务&#xff0c;屏蔽系统锁屏&#xff0c;在实现过程中我发现了困难&#xff0c;经过各种查资料和询问同学&#xff0c;最后也没能通过敲代码实现屏蔽系统锁屏的功能&#xff0c;所以最后我决定实现调出系统锁屏页面&#xf…

LeetCode 1930. 长度为 3 的不同回文子序列(计数)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s &#xff0c;返回 s 中 长度为 3 的不同回文子序列 的个数。 即便存在多种方法来构建相同的子序列&#xff0c;但相同的子序列只计数一次。 回文 是正着读和反着读一样的字符串。 子序列 是由原字符串删除其中部分字符&…

修改telnet的用户名密码_远程管理设备telnet的N种设置方法

作为一名网络工程师&#xff0c;日常管理和配置设备&#xff0c;可以选择的方法有很多&#xff0c;很多(如下图)&#xff0c;但是最常用的配置手段&#xff0c;任然是本地使用console口&#xff0c;远程使用telnet(或SSH)&#xff0c;本文以思科设备演示几种telnet的设置方法&a…

ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库

如下&#xff1a;定义所需采集数据的标签名(或者数据源)&#xff0c; 并定义采集组存放这些标签&#xff1b;定义每个采集组的参数(节点、采集速度、相位、控制标签、状态和标签)&#xff1b;采集速度越快&#xff0c;则数据越准确&#xff0c;数据容量越大。iFIX定义的有效数据…

python只能以程序方式执行死刑_Python程序设计基础_2020智慧树网课答案章节答案...

Python程序设计基础_2020智慧树网课答案章节答案答案&#xff1a;更多相关问题审判时怀孕的妇女&#xff0c;无论犯了多么严重的罪&#xff0c;最高可以判处()。A.死刑立即执行B.无期徒刑C.有期徒刑甲见他人贩卖毒品获得巨额暴利,遂起贩毒之意,但苦于无毒品来源,便制造了大量假…

WPF系列 自定控件

引言 WPF中微软提供了一些基本的控件&#xff0c;但是工作中这些基础的控件往往不能满足我们的需求&#xff0c;这个时候我们就需要根据实际的需求去开发自己的控件&#xff0c;但要注意不是所有功能不满足的情况都需要通过自定义控件来实现。实际上一旦用到自定义控件&#xf…

Paddle 使用预训练模型 实现快递单信息抽取

文章目录1. 导包2. 数据处理3. 辅助函数3.1 评估函数3.2 预测函数3.3 预测结果解码4. 训练填写快递单据可以直接把所有信息直接粘贴进客户端&#xff0c;客户端自动识别 省市、人名、电话等信息&#xff0c;分类填入&#xff0c;然后打印出来粘贴。无须人工填写&#xff0c;加快…

java oracle 分区查询_深入学习Oracle分区表及分区索引

深入学习Oracle分区表及分区索引关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言&#xff0c;基本上可以分成几类&#xff1a;•    Range(范围)分区•    Hash(哈希)分区•    List(列表)分区•    以及组合分区&a…