[JAVA 기초] 람바다 - 컬렉션 클래스 처리.

2356 단어
java8의Stream은 집합 기능을 강화했다. 이전에 우리는 집합 대상을 자주 처리했기 때문에 비교적 번거롭다.Stream은 집합 대상에 대한 매우 편리하고 효율적인 집합 조작을 제공했고 lambda 표현식을 통해list 조작을 편리하게 하는 방법을 제공했다.

1. Stream의 가장 핵심적인 방법:collect


collect는 파이프 흐름의 결과를 하나의 값에 집합하는 끝 작업입니다. 이 값은 집합, 비추기, 또는 하나의 값 대상 등이 될 수 있습니다.그 사용법의 핵심은 Collectors 도구 클래스를 사용하여 이루어지는 것입니다. Collector 서비스를 위해 다양한 Collector를 만드는 데 사용됩니다.Collectors의 toMap 방법은 다음과 같습니다. (1) list 회전 맵
List list = new ArrayList();  
list.add(new Person(1, "haha"));  
list.add(new Person(2, "rere"));  
list.add(new Person(3, "fefe"));  
// 
Map mapp = list.stream().collect(Collectors.toMap(Person::getId, Function.identity()));  
System.out.println(mapp.get(1).getName());  
// 
Map map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));  
System.out.println(map); 

키가 충돌할 때 처리되면 충돌이 발생할 경우 기존 항목을 유지합니다.
Map map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName,(existing, replacement) -> existing));  

(2) List에서 ConcurrentMap, treemap 등 기본적으로 tomap () 방법은 해시 맵을 되돌려주고 다른 맵도 되돌려줍니다.
return list.stream().collect(Collectors.toMap(Person::getId, Function.identity(),(o1, o2) -> o1, ConcurrentHashMap::new))); 

return list.stream().collect(Collectors.toMap(Person::getId, Function.identity(),(o1, o2) -> o1, TreeMap::new))); 

Collectors에는 또 많은 방법이 있는데 예를 들어 Joining, toList, 그룹 등이다. 일부 기능은 Stream의 방법과 중합되어 코드를 간소화하기 위해 Collectors로 실현할 필요가 없고 Stream 방법을 우선적으로 한다.

2. Stream Filter 방법을 사용하여 특정 조건을 필터링할 수 있습니다.

// 201901 
List userCommonList = userList.stream().filter(a -> !a.getJobNumber().equals("201901")).collect(Collectors.toList());

3. 맵


하나의 서열을 다른 서열로 비추고, 비추는 규칙은 함수에 의해 제정된다.
result = list.stream().filter(i -> UN_LOGIN.equals(i.getRemark())).map(this::chg2CodeInfo).collect(Collectors.toList());
// 
public CodeInfo chg2CodeInfo(TbCode tbCode)
{
    CodeInfo codeInfo = new CodeInfo();
    codeInfo.setCodeVal(tbCode.getCodeVal());
    codeInfo.setCodeDesc(tbCode.getCodeDesc());
    codeInfo.setRemark(tbCode.getRemark());
    return codeInfo;
}


좋은 웹페이지 즐겨찾기