Valor de suma de la propiedad de objetos de clase en ArrayList

Tengo una ArrayList que tiene muchos objetos. Quiero hacer la suma de valores del mismo nombre de propiedad.

Datos de ejemplos enArray List que es Objetos deProfitAndLossDataDO

      "Michel" , 5000
      "Alex" , 5000
      "Edvin" , 4000
      "Sosha" , 3000
      "Michel" , 2000
      "Alex" , 3000

Y el resultado sería (Suma de valores cuando la persona es la misma)

      "Michel" ,7000
      "Alex" ,  8000
      "Edvin" , 4000
      "Sosha" , 3000

La clase lógicaProfitAndLossDataDO

public class ProfitAndLossDataDO {

String ledgerName;
double ledgerAmount;

public ProfitAndLossDataDO() {
}

public ProfitAndLossDataDO(String ledgerName, double ledgerAmount) {
    this.ledgerName = ledgerName;
    this.ledgerAmount = ledgerAmount;
}



public String getLedgerName() {
    return ledgerName;
}

public void setLedgerName(String ledgerName) {
    this.ledgerName = ledgerName;
}

public double getLedgerAmount() {
    return ledgerAmount;
}

public void setLedgerAmount(double ledgerAmount) {
    this.ledgerAmount = ledgerAmount;
}


@Override
public String toString()
{
            return ("ledger name : "+this.getLedgerName()+" Amount : "+this.getLedgerAmount());
}
}

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta