[JAVA] Finden Sie das Durchschnittsalter aus Liste <Person>.

Inhaltsverzeichnis ⇒ Java Algorithm Library-Artery-Sample

Q01_07.java



package jp.avaj.lib.algo;

import java.util.ArrayList;
import java.util.List;

import jp.avaj.lib.test.L;

/**
 *  List<Person>Finden Sie das Durchschnittsalter von.
 *
 *・ Zieldaten von Person(Alter)Sie müssen ArCreator zum Abrufen definieren.
 *-In der ersten Methode wird die Konvertierungsmethode implementiert, um das Alter zu extrahieren..
 *-Diese Methode ist jedoch problematisch, da für jedes zu extrahierende Feld eine Implementierung erstellt wird..
 *-In der zweiten Methode wird ein universeller ArCreatorByName erstellt und der Feldname angegeben..
 *・ Es kann verhindert werden, dass die Anzahl der ArCreator-Implementierungen unnötig zunimmt..
 *
 */
public class Q01_07 {
  public static void main(String[] args) throws Exception {
    List<Person> list = createList();

    //Definition von ArCreator-Erster Weg
    ArCreator<Person,Integer> creator = new ArCreator<Person,Integer>() {
      @Override
      public Integer convert(Person obj) throws Exception {
        return obj.getAge();
      }
    };
    //Finden Sie den Durchschnittswert
    L.p(ArList.avg(list,creator)+"");

    //Definition von ArCreator-Zweite Methode
    creator = new ArCreatorByName<Person,Integer>("age");
    //Finden Sie den Durchschnittswert
    L.p(ArList.avg(list,creator)+"");
  }

  /**Erstellen Sie persönliche Informationen*/
  private static List<Person> createList() {
    List<Person> list = new ArrayList<Person>();
    list.add(new Person("a",25));
    list.add(new Person("b",30));
    list.add(new Person("c",28));
    list.add(new Person("d",22));
    list.add(new Person("e",38));
    return list;
  }

  /**Klasse für persönliche Informationen(Nur Name und Alter..) */
  static class Person {
    public Person(String name,int age) {
      this.name = name;
      this.age = age;
    }
    private String name;
    private int age;
    public String getName() {
      return name;
    }
    public void setName(String name) {
      this.name = name;
    }
    public int getAge() {
      return age;
    }
    public void setAge(int age) {
      this.age = age;
    }
  }
}


Das Ergebnis ist wie folgt.

result.txt



28.6
28.6

Recommended Posts

Finden Sie das Durchschnittsalter aus Liste <Person>.
Aggregieren Sie die Anzahl der Personen alle 10 Jahre aus Liste <Person>
Finden Sie den Unterschied zwischen Listentypen
Finden Sie den Unterschied von einem Vielfachen von 10
Suchen Sie die Subnetzmaske anhand der Netzwerkpräfixlänge
So finden Sie die Gesamtpunktzahl und die Durchschnittspunktzahl
ArrayList und die Rolle der Schnittstelle aus List
Extrahieren Sie ein bestimmtes Element aus der Liste der Objekte
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java