java 集合处理:

复制代码
// 1 数组转map
public static void main(String[] args) {
    String backendIdStr="[\"backend-mvj05upv7yc\",\"backend-mvj055qvric\",\"backend-mvj04hlutx4\"]";
    String[] backendIdList = JsonUtil.asObject(backendIdStr, String[].class);
    Stream<String> stream = Arrays.stream(backendIdList);
    Map<String, String> map = stream.collect(Collectors.toMap(key -> key, value -> value));
    System.out.println(11111);
}

// 2 List求差集

复制代码
public static void main(String[] args) {
        List<String> list1 = new ArrayList<String>();
        list1.add("A");
        list1.add("B");
        List<String> list2 = new ArrayList<String>();
        list2.add("B");
        list2.add("C");
        list1.removeAll(list2);
        System.out.println("交集:" + list1);//差集:[A]

}

// 3 List求交集

复制代码
public static void main(String[] args) {
        List<String> list1 = new ArrayList<String>();
        list1.add("A");
        list1.add("B");
        List<String> list2 = new ArrayList<String>();
        list2.add("B");
        list2.add("C");
        list1.retainAll(list2);
        System.out.println("交集:" + list1);//交集:[B]
    
}

// java 8 处理 :

public void test1(){

List list1=new ArrayList<>();

list1.add(1);

list1.add(2);

list1.add(3);

List list2=new ArrayList<>();

list2.add(3);

list2.add(4);

list2.add(5);

System.out.println("====求交集===");

List list=list1.stream().filter(t->list2.contains(t)).collect(Collectors.toList());

list.stream().forEach(System.out::println);

System.out.println("====求差集===");

list=list1.stream().filter(t-> !list2.contains(t)).collect(Collectors.toList());

list.stream().forEach(System.out::println);

System.out.println("====求并集===");

list.addAll(list1);

list.addAll(list2);

list=list.stream().distinct().collect(Collectors.toList());

list.stream().forEach(System.out::println);

}

相关推荐
喵手6 分钟前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee
-Xie-7 分钟前
Maven(二)
java·开发语言·maven
mftang9 分钟前
Python可视化工具-Bokeh:动态显示数据
开发语言·python
m0_4805026419 分钟前
Rust 入门 生命周期-next2 (十九)
开发语言·后端·rust
IT利刃出鞘19 分钟前
Java线程的6种状态和JVM状态打印
java·开发语言·jvm
天天摸鱼的java工程师1 小时前
Java 解析 JSON 文件:八年老开发的实战总结(从业务到代码)
java·后端·面试
白仑色1 小时前
Spring Boot 全局异常处理
java·spring boot·后端·全局异常处理·统一返回格式
喵手1 小时前
反射机制:你真的了解它的“能力”吗?
java·后端·java ee
kaika11 小时前
告别复杂配置!使用 1Panel 运行环境功能轻松搭建 Java 应用
java·1panel·建站·halo