用Stream 对 List字符串切割

2023-03-19  本文已影响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);

    }

}

上一篇 下一篇

猜你喜欢

热点阅读