/**
* @className ListUtil
* @author Echo
* @description List操作工具类
* @updateTime 2021/12/9 21:25
* @version 1.0
*/
public class ListUtil {
private static Logger logger = LoggerFactory.getLogger(ListUtil.class);
/**
* @methodName getElementsInFirstListBetweenLists
* @author Echo
* @param: firstCol
* @param: secondCol
* @version 1.0
* @description 在两个集合中,获取在第一个而不再第二个的元素
* @updateTime 2021/12/9 21:29
* @return: java.util.List<java.lang.String>
* @throws
*/
public static List<String> getElementsInFirstListBetweenLists(Collection<String> firstList, Collection<String> secondList) {
long t = System.currentTimeMillis();
Set<String> sameString = new HashSet<String>(secondList);
List<String> result = new ArrayList<String>(firstList.size());
for (String s : firstList) {
if (!sameString.contains(s)) {
result.add(s);
}
}
if(System.currentTimeMillis() - t > 1){
logger.debug("getElementsInFirstListBetweenLists with list first.size={},sencond.size={},use time={}ms",firstList.size(),secondList.size(),System.currentTimeMillis()-t);
}
return result;
}
/**
* @methodName getElementsInFirstAndSecondListBetweenLists
* @author Echo
* @param: firstCol
* @param: secondCol
* @version 1.0
* @description 获取两个集合中的交集
* @updateTime 2021/12/9 21:33
* @return: java.util.List<java.lang.String>
* @throws
*/
public static List<String> getElementsInFirstAndSecondListBetweenLists(Collection<String> firstList, Collection<String> secondList) {
long t = System.nanoTime();
Set<String> set = new HashSet<String>(secondList);
List<String> sameElements = new ArrayList<String>(firstList.size());
for(String item : firstList){
if(set.contains(item)){
sameElements.add(item);
}
}
if(logger.isDebugEnabled()){
logger.debug("getElementsInFirstAndSecondListBetweenLists list.size={},list2.size={},use time={}ns",firstList.size(),secondList.size(),System.nanoTime()-t);
}
return sameElements;
}
/**
* @methodName hasSameElementsInLists
* @author Echo
* @param: firstList
* @param: secondList
* @version 1.0
* @description 判断两个集合中是否有相同的元素
* @updateTime 2021/12/9 21:37
* @return: boolean
* @throws
*/
public static boolean hasSameElementsInLists(List<String> firstList,List<String> secondList){
for (String item : firstList) {
if(secondList.contains(item)){
return true;
}
}
return false;
}
/**
* @methodName toStrArr
* @author Echo
* @param: list
* @version 1.0
* @description 将List转化为String
* @updateTime 2021/12/9 22:53
* @return: java.lang.String[]
* @throws
*/
public static String[] toStrArr(List<String> list) {
return list.toArray(new String[0]);
}
/**
* @methodName notEqualsIgnoreCase
* @author Echo
* @param: str1
* @param: str2
* @version 1.0
* @description 两个字符是否相同(忽略大小写)
* @updateTime 2021/12/9 22:56
* @return: boolean
* @throws
*/
public static boolean notEqualsIgnoreCase(String str1, String str2) {
return !equalsIgnoreCase(str1, str2);
}
/**
* @methodName listToStr
* @author Echo
* @param: list
* @version 1.0
* @description 将List转换为String,元素以 , 分割
* @updateTime 2021/12/9 22:59
* @return: java.lang.String
* @throws
*/
public static String listToStr(List<String> list) {
StringBuilder buff = new StringBuilder();
for (String s : list) {
buff.append(s + ",");
}
if (buff.length() > 0) {
buff.deleteCharAt(buff.length() - 1);
}
return buff.toString();
}
}
项目中-ListUtil
Guess you like
Origin blog.csdn.net/weixin_45438044/article/details/121856237
Recommended
Ranking