美文网首页
用Stream 对 List字符串切割

用Stream 对 List字符串切割

作者: 蚂蚁森林农夫 | 来源:发表于2023-03-19 22:17 被阅读0次

package com.aliyun.storage.chiji.ccp.common;

import org.junit.Test;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.stream.Collectors;

import java.util.stream.Stream;

public class TestSplit {

@Test

    public void testSplit() {

List list =new ArrayList<>();

        list.add("Table#file");

        list.add("IT_LOCAL_INDEX#file_1");

        list.add("GLOBAL_LOCAL_INDEX#file_2");

        list.add("searchIndex#search_idx_file_3");

        Map map =new HashMap<>();

        List tableNameList =new ArrayList<>();

        list.stream().filter(f -> f.startsWith("Table")).forEach(

f -> {

String s = Stream.of(f.split("#")).collect(Collectors.toList()).get(1);

                    tableNameList.add(s);

                }

);

        map.put("Table",tableNameList);

        List searchIndexList =new ArrayList<>();

        list.stream().filter(f -> f.startsWith("searchIndex")).forEach(

f -> {

String s = Stream.of(f.split("#")).collect(Collectors.toList()).get(1);

                    searchIndexList.add(s);

                }

);

        map.put("searchIndex",searchIndexList);

        List indexList =new ArrayList<>();

        list.stream().filter(f -> !f.startsWith("searchIndex") && !f.startsWith("Table")).forEach(

f -> {

String s = Stream.of(f.split("#")).collect(Collectors.toList()).get(1);

                    indexList.add(s);

                }

);

        indexList.addAll(tableNameList);

        map.put("index",indexList);

        System.out.println(map);

    }

}

相关文章

网友评论

      本文标题:用Stream 对 List字符串切割

      本文链接:https://www.haomeiwen.com/subject/afzyrdtx.html