Heim  >  Artikel  >  Java  >  So implementieren Sie die Java-Gruppierungsstatistikfunktion

So implementieren Sie die Java-Gruppierungsstatistikfunktion

王林
王林nach vorne
2023-04-29 08:52:061342Durchsuche

Sehen wir uns den folgenden Fall an:

//下面是初始化的数据
       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);

1. Der sinnvolle Einsatz von Kartenoperationen kann viele Probleme lösen

 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);
            }
        }

3 die neuen Funktionen von jdk8 – lehnen Sie neue Dinge nicht ab

Nachdem java14 draußen ist, müssen Sie noch mehr über die neuen Funktionen von java8 wissen

Multimap<String, Student> mulMap = ArrayListMultimap.create();
for (Student  stu : list) {
       mulMap.put(stu.getGrade,stu);   
}

Aus der Perspektive der Codemenge war Java8 das einfachste unter ihnen die oben genannten drei. In der tatsächlichen Entwicklung sind jedoch sowohl 2 als auch 3 basierend auf bestimmten Szenarien eine gute Wahl.

Java8-Statistiken zur Mehrfachfeldgruppierung

//一行就可以解决
Map<String, List<Student  >> collect = list.stream().collect(Collectors.groupingBy(ArrearageDeal::getGrade));

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Java-Gruppierungsstatistikfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen