记录自己封装的字符串工具StrUtils
package club.yulaoban.spider.modules.common.util;
import cn.hutool.core.util.StrUtil;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author: yc
* @des: 字符串工具类
* @date: 2022/6/28 15:33
*/
public class StrUtils {
/**
* @author: yc
* @des: 将list 转为用逗号隔开的字符串
* @date: 2022/6/28 15:33
*/
public static String list2str(List<String> list){
return list.stream().collect(Collectors.joining(StrUtil.COMMA));
}
/**
* @author: yc
* @des: 将 逗号 分开的字符串转为list
* @date: 2022/6/8 15:08
*/
public static List<String> str2List(String str){
String s = str.contains(StrUtil.COMMA) ? str : str + StrUtil.COMMA;
List<String> list = new ArrayList<>();
list.addAll(Arrays.asList(s.split(StrUtil.COMMA)));
return list;
}
/**
* @author: yc
* @des: list = "需要被切割的list",groupSize = "切割大小"
* @date: 2021/7/5 14:07
*/
public static Map<Integer, List<String>> splitList(List<String> list,Integer groupSize) {
Map<Integer, List<String>> afterSplitMap = new HashMap<>();
int listLength = list.size();
//计算可以分成多少组
int num = (listLength + groupSize - 1) / groupSize;
for (int i = 0; i < num; i++) {
// 开始位置
int fromIndex = i * groupSize;
// 结束位置
int toIndex = (i + 1) * groupSize < listLength ? (i + 1) * groupSize : listLength;
afterSplitMap.put(i, list.subList(fromIndex, toIndex));
}
return afterSplitMap;
}
}