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);

}

相关推荐
aaaak_6 小时前
PDD 直播间 评论 , wss hex Protobuf 解析流程分析学习
java·前端·学习
小雅痞6 小时前
[Java][Leetcode simple] 205. 同构字符串
java·算法·leetcode
fox_lht6 小时前
第十二章 泛型、接口和生命周期
开发语言·后端·rust
jayson.h6 小时前
正则表达式:从文件名提取器件编号
开发语言·python·正则表达式
Dxy12393102166 小时前
JS如何获取元素高度
开发语言·javascript·ecmascript
多加点辣也没关系6 小时前
设计模式-策略模式
java·设计模式·策略模式
凯瑟琳.奥古斯特6 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
小杍随笔6 小时前
Axum+Leptos全栈集成实战
开发语言·后端·架构·rust
2601_953660376 小时前
Java Map集合详解与实战
java·开发语言·python
ComputerInBook6 小时前
C++中“概念”(concept)之含义
开发语言·c++·概念·concept