일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CompletableFuture
- #docker compose
- @TransactionalEventListener
- intellij favorites
- HandlerMethodArgumentResolver
- intellij 즐겨찾기
- findTopBy
- aws
- 원격 브랜 삭제
- 리팩토링 2판
- 자바 ORM 표준 JPA 프로그래밍 정리
- ksqldb
- @Transactional Propagation
- 리눅스
- intellij 핵심 단축키
- 친절한 SQL 튜닝
- Linux
- 백명석님
- 자바 ORM 표준 JPA 프로그래밍
- java
- IntelliJ
- Stream
- javascript case
- Spring Cloud Netflix
- JPA
- vue.js
- 마이크로 서비스
- ksql
- multipart테스트
- git
- Today
- Total
시그마 삽질==six 시그마
java stream 객체 필드로 sorted 본문
Stream.of(day1, day2)
.flatMap(x -> x.stream())
.map(v->new SeminarSection(v.getDayOrder(),v.getDay()))
.distinct()
.sorted(Comparator.comparing((SeminarSection ::getDayOrder)))
.collect(Collectors.toList());
.sorted(Comparator.comparing((SeminarSection s)->s.getDayOrder))) : 오름차순
.sorted(Comparator.comparing((SeminarSection ::getDayOrder))) : 오름차순
.sorted(Comparator.comparing((SeminarSection ::getDayOrder)).reversed()) : 내림차순
List<Person> list = Arrays.asList(
new Person.Builder().name("김지혜").age(20).height(185).build()
, new Person.Builder().name("이정").age(20).height(181).build()
, new Person.Builder().name("원빈").age(30).height(170).build()
,new Person.Builder().name("정우성").age(30).height(190).build()
);
Person person = list.stream().max(Comparator.comparing((Person::getHeight))).get();
System.out.println("person = " + person);
/* Map<Integer, Person> collect = list.stream().sorted(Comparator.comparing((Person::getHeight)).reversed())
.collect(Collectors.toMap(Person::getAge, x -> x, (x, y) -> x));
System.out.println("collect = " + collect);*/
order by 2번이상..
Comparator.comparing(Person::getFirstName)
.thenComparing(Person::getLastName)
.thenComparing(Person::getAge).reversed(); // 이렇게하면 전체가 reversed된다.
Comparator.comparing(Person::getFirstName)
.thenComparing(Comparator.comparing(Person::getLastName))
.thenComparing(Comparator.comparing(Person::getAge).reversed())) //이렇게하면 마지막거만 reversed된다.
.sorted(Comparator.comparing(oc->oc.getDto().getUserName(),Comparator.reverseOrder())).collect(Collectors.toList()); //객체의 객체 내부의 필드 reverse
Map<Long,List<MyEntity>> 에서 Map의 key로 sort 하기
myid = myData.stream()
//.sorted(Comparator.comparing(....) <--optional (정렬된 상태라면 두고 아니면 요기서 정렬)
.collect(Collectors.groupingBy(MyEntity::getDataId,LinkedHashMap::new, toList()));
Would return a LinkedHashMap<Integer, List<MyEntity>>. The order will also be maintained as the list used by collector is ArrayList.
'프로그래밍 > Java' 카테고리의 다른 글
Stream collect 1탄 (0) | 2020.08.27 |
---|---|
[mac] java 버전 변경 jenv (0) | 2020.08.18 |
Java stream 객체 필드 수정 (0) | 2020.04.16 |
자바 스트림 null 체크 (0) | 2020.04.03 |
Java 스트림 중첩 리스트내 inner 리스트 사용 (0) | 2020.04.03 |