JAVA 從一個List中匹配另一個List的值並返回一個List


List<LookupValuesVO> valuesVOList =new ArrayList<>();
        LookupValuesVO a1=new LookupValuesVO();
        a1.setLookupCode("CNY");
        a1.setMeaning("人民幣CNY");
        valuesVOList.add(a1);
        LookupValuesVO a2=new LookupValuesVO();
        a2.setLookupCode("EUR");
        a2.setMeaning("歐元EUR");
        valuesVOList.add(a2);
        LookupValuesVO a3=new LookupValuesVO();
        a3.setLookupCode("HKD");
        a3.setMeaning("港幣HKD");
        valuesVOList.add(a3);
        LookupValuesVO a4=new LookupValuesVO();
        a4.setLookupCode("OTHER");
        a4.setMeaning("其它");
        valuesVOList.add(a4);
        LookupValuesVO a5=new LookupValuesVO();
        a5.setLookupCode("USD");
        a5.setMeaning("美金USD");
        valuesVOList.add(a5);
        //分組
        Map<String,List<LookupValuesVO>> lookupMap = valuesVOList.stream().collect(Collectors.groupingBy(LookupValuesVO :: getLookupCode));
        //需處理的數據
        String str="HKD,USD,CNY";
        //分割
        List<String> lookupCode= Arrays.asList(str.split(",")).stream().map(block -> (block.trim())).collect(Collectors.toList());
        System.out.println("bf:"+lookupCode);

        //匹配
        lookupCode=lookupCode.stream().map(ro->{
            if(!ObjectUtils.isEmpty(lookupMap.get(ro))){
                return lookupMap.get(ro).get(0).getMeaning();
            }
            return ro;
        }).collect(Collectors.toList());
        //輸出處理后的List
        System.out.println("af:"+lookupCode);
        //拼接成字符串
        str=String.join(",",lookupCode);
        System.out.println("str:"+str);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM