List<String> fullExpCodeList = searchDataCodeList.stream().map(code -> code.replaceAll("[${}]", "")).collect(Collectors.toList());
List<String[]> fullCodeList = fullExpCodeList.stream().map(code -> code.split("[.]")).filter(code -> code.length == 3).collect(Collectors.toList());
if(fullCodeList.isEmpty()){
return subjectDataMap;
}
List<String[]> phaseInfoList = fullCodeList.stream().map(code -> code[0].split("#")).distinct().collect(Collectors.toList());
List<String[]> formInfoList = fullCodeList.stream().map(code -> code[1].split("#")).distinct().collect(Collectors.toList());
List<String[]> itemInfoList = fullCodeList.stream().map(code -> code[2].split("#")).distinct().collect(Collectors.toList());
List<String> phaseCodeList = phaseInfoList.stream().map(code -> code[0]).distinct().collect(Collectors.toList());
List<String> phaseNumList = phaseInfoList.stream().map(code -> code[1]).distinct().collect(Collectors.toList());
List<String> formCodeList = formInfoList.stream().map(code -> code[0]).distinct().collect(Collectors.toList());
List<String> dateList = new ArrayList<String>();
dateList.add("2020-12-21 14:39:27");
dateList.add("2020-12-22 14:39:27");
dateList.add("2020-12-24 14:39:27");
dateList.add("2020-12-25 14:39:36");
dateList.add("2020-12-19 14:39:36");
dateList.add("2020-12-24 14:39:36");
Optional<String> dispatchDate = dateList.stream().max((a,b)->a.compareTo(b));
System.out.println(dispatchDate.get());
List<Item> itemList = new ArrayList<>();
itemList.add(new Item(1, 10));
itemList.add(new Item(0, 10));
itemList.add(new Item(0, 20));
itemList.add(new Item(0, 40));
itemList.add(new Item(3, 10));
itemList.add(new Item(0, 30));
itemList.add(new Item(0, 50));
itemList.add(new Item(2, 10));
Optional<Item> itemOptional = itemList.stream().max(Comparator.comparing(Item::getA));