다음 사례를 살펴보겠습니다.
//下面是初始化的数据 List<student> list = new ArrayList<student>(); Student student1 = new Student("李四1", "女", "一班"); Student student2 = new Student("李四2", "女", "一班"); Student student3 = new Student("李四3", "女", "一班"); Student student4 = new Student("李四4", "男", "一班"); Student student5 = new Student("李四5", "男", "一班"); Student student6 = new Student("李四6", "男", "二班"); Student student7 = new Student("李四7", "男", "二班"); Student student8 = new Student("李四8", "男", "二班"); Student student9 = new Student("李四9", "男", "二班"); list.add(student1); list.add(student2); list.add(student3); list.add(student4); list.add(student5); list.add(student6); list.add(student7); list.add(student8); list.add(student9);</student></student>
1. 맵 연산의 합리적인 사용
실제 개발에서는 맵 고유의 방법을 합리적으로 사용하면 많은 문제를 해결할 수 있습니다.
for (Student stu : list) { if (!map.containsKey(stu.getProvinceCode())) { ArrayList<arrearagedeal> al = new ArrayList<arrearagedeal>(); map.put(stu.getProvinceCode(), al.add(stu)); } else { map.get(stu.getProvinceCode()).add(stu); } }</arrearagedeal></arrearagedeal>
2. Guava의 Multimap을 사용하세요
Multimap<string> mulMap = ArrayListMultimap.create(); for (Student stu : list) { mulMap.put(stu.getGrade,stu); }</string>
3. jdk8의 새로운 기능 – 새로운 것을 거부하지 마세요
결국 java14가 나왔으니, 여전히 java8의 새로운 기능에 대해 더 많이 알아야 합니다
//一行就可以解决 Map<string>> collect = list.stream().collect(Collectors.groupingBy(ArrearageDeal::getGrade));</string>
당시 코드의 양으로 볼 때, java8 위 셋 중 가장 간단했습니다. 그러나 실제 개발에서는 특정 시나리오에 따라 2와 3 모두 좋은 선택입니다.
Java8 다중 필드 그룹화 통계
// 分组统计 Map<string> countMap = records.stream().collect(Collectors.groupingBy(o -> o.getProductType() + "_" + o.getCountry(), Collectors.counting())); List<record> countRecords = countMap.keySet().stream().map(key -> { String[] temp = key.split("_"); String productType = temp[0]; String country = temp[1]; Record record = new Record(); record.set("device_type", productType); record.set("location", country; record.set("count", countMap.get(key).intValue()); return record; }).collect(Collectors.toList());</record></string>
위 내용은 Java 그룹화 통계 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
3 몇 주 전ByDDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
2 몇 주 전ByDDD
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
