集合使用filter过滤
package com.founder.saas;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zwy
* @version 1.0
* @description
* @updateRemark
* @updateUser
* @createDate 2021/4/12 15:40
* @updateDate 2021/4/12 15:40
**/
public class test {
public static void main(String[] args) {
List<String> keywordsList = Lists.newArrayList();
keywordsList.add("");
keywordsList.add("test");
keywordsList.add("test1");
keywordsList.add("test2");
keywordsList.add("");
System.out.println("原始数据");
System.out.println(keywordsList.toString());
/// TODO: 2021/4/12 使用jdk 1.8 filter
List<String> list = keywordsList.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
System.out.println("过滤后");
System.out.println(list.toString());
}
}
原始数据
[, test, test1, test2, ]
过滤后
[test, test1, test2]
list中数据重复次数计算
package com.founder.saas;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author zwy
* @version 1.0
* @description
* @updateRemark
* @updateUser
* @createDate 2021/4/12 15:40
* @updateDate 2021/4/12 15:40
**/
public class test {
public static void main(String[] args) {
List<String> keywordsList = Lists.newArrayList();
keywordsList.add("test");
keywordsList.add("test1");
keywordsList.add("test1");
keywordsList.add("test2");
keywordsList.add("test2");
keywordsList.add("test3");
Map<String, Long> collect = keywordsList.stream().collect(Collectors.groupingBy(p -> p, Collectors.counting()));
System.out.println(collect.toString());
}
}
//输出
{test2=2, test3=1, test=1, test1=2}
根据对象value倒序排序
package com.founder.saas;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.collections.MapUtils;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author zwy
* @version 1.0
* @description
* @updateRemark
* @updateUser
* @createDate 2021/4/12 15:40
* @updateDate 2021/4/12 15:40
**/
public class test {
public static void main(String[] args) {
List<String> keywordsList = Lists.newArrayList();
Map<String, Long> map = new LinkedHashMap<>();
keywordsList.add("test");
keywordsList.add("test1");
keywordsList.add("test1");
keywordsList.add("test2");
keywordsList.add("test2");
keywordsList.add("test3");
Map<String, Long> collect = keywordsList.stream().collect(Collectors.groupingBy(p -> p, Collectors.counting()));
System.out.println("排序前");
System.out.println(collect.toString());
collect.entrySet().stream().sorted(Map.Entry.<String, Long>comparingByValue().reversed()).forEachOrdered(e -> map.put(e.getKey(), e.getValue()));
System.out.println("排序后");
System.out.println(map.toString());
}
}
//输出
排序前
{test2=2, test3=1, test=1, test1=2}
排序后
{test2=2, test1=2, test3=1, test=1}