Fazendo esta publicação só para mostrar uma forma diferente da que está na resolução do curso de java, e fugir um pouco do padrão que estão ensinando a gente, resolvi me aprofundar mais em alguns topicos do java como Collections, Streams, Lambda, Optionals & Method Referencs, ainda estou bem no inicio disso, muitas dúvidas e alguns dificuldades para implementação na hora de por em pratica, mas isso aprendemos com o tempo e dedicação. Está é a minha resolução para o desafio da Conta Bancaria, afinal, foi o único que fiz por estar cansado de já ter passado o dia estudando. Só um adento, estou usando a dependency do lombok em meus projetos para simplificar os códigos usando de anotações e evitar ter de ficar escrevendo os métodos get set toString e demais, caso queiram, podem dar uma olhada no tipo Record do Java, implementado na versão 16, ele é um substituto do próprio Java para o uso do lombok.
Desafio 6 - Conta Bancaria
Crie uma classe ContaBancaria com propriedades como número da conta e saldo. Em seguida, crie uma lista de contas bancárias com diferentes saldos. Utilize um loop para encontrar e imprimir a conta com o maior saldo.
Class BankAccount
package com.rickmviana.github.entity;
@lombok.Getter
@lombok.RequiredArgsConstructor
@lombok.AllArgsConstructor
@lombok.ToString
public class BankAccount {
private final int ID;
private double balance;
}
Class Main
package com.rickmviana.github;
import com.rickmviana.github.entity.BankAccount;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Test02 {
public static void main(String[] args) {
List<BankAccount> bankAccounts = new ArrayList<>();
bankAccounts.add(new BankAccount(1, 5000.0));
bankAccounts.add(new BankAccount(2, 1350.0));
bankAccounts.add(new BankAccount(3, 11000.0));
bankAccounts.add(new BankAccount(4, 9000.0));
getBankAccount(bankAccounts).ifPresent(System.out::println);
}
private static Optional<BankAccount> getBankAccount(List<BankAccount> bankAccount) {
return bankAccount.stream()
.max(Comparator.comparingDouble(BankAccount::getBalance));
}
}
imagens de como ficou o código:
Class BankAccount
Class Main
Espero que isso ajude alguém no futuro que venha a fazer esta formação, não sou nem um especialista kkk, mas gosto de partilhar o que aprendo ou estou a aprender.