Comparação de varias linhas na mesma coluna do CSV usando JAVA

Jovens , eu tô com um pequeno problema , só falta resolver essa questão para eu finalizar o Algorítimo…

Eu tenho um CSV rodando em um JAVA, ta tudo muito lindo , tudo tranquilo , na verdade nem tudo …

eu tenho que comparar todas as linhas da mesma coluna desse CSV , mas eu tô conseguindo , na verdade é falta de experiência mesmo , eu nunca trabalhei com isso , na verdade ainda sou estudante ainda…

a questão é o seguinte , eu além de comparar todas as linhas na mesma coluna , tenho que imprimir o maior valor ( que está na coluna 2 ) juntamente com o nome ( que está na coluna 0 )…

eu tava vendo aqui no fórum , que algumas vezes pra ficar melhor de entender , é solicitado o algorítimo , mas o meu ta com mas de 80 linhas … de qualquer forma , vou mandar e mas á baixo eu especifico onde eu travei e não consegui sair…

Algorítimo::::::

package QueVai;

import java.io.;
import java.util.
;

public class PagarAFaculdade {

public static void main(String[] args) {
	int i =0;
	double test = 0;
	int total=-2;
	String arquivoCSV = ("D:\\estoque.csv");
	String linha ="";
	double media =0;
	String separadorDeCampo = ";";
	BufferedReader conteudoCSV = null;
	double  preco = 0;
	double numero = 0;

	try {
		conteudoCSV = new BufferedReader (new FileReader(arquivoCSV));

		boolean primeiraLinha = true;

		while((linha = conteudoCSV.readLine()) != null) {
			total++;

			if(primeiraLinha) {
				primeiraLinha = false;
				continue;
			}


			String [] campo = linha.split(separadorDeCampo);

			String formato = String.format("Produto: %-70s |Marca: %-20s |Preço: %-20s |Quantidade: %s", campo[0], campo[1], campo[2], campo[3]);
			String compare0 = new String(campo[2]);
			String compare1 = new String(campo[2]);
			int definicao = compare0.compareTo(compare1);
			java.text.NumberFormat valor = java.text.NumberFormat.getNumberInstance();  
			valor.setMinimumFractionDigits(2);
			valor.setMaximumFractionDigits(2);  
			String real = valor.format(preco);
			real= campo[2];
			real = real.replaceAll(",", ".");
			preco = Double.parseDouble(real);

			java.text.NumberFormat quantidade = java.text.NumberFormat.getNumberInstance();
			String estoque = quantidade.format(numero);
			estoque = campo[3];
			numero = Double.parseDouble(estoque);

			while( i<=total) {
				i++;
				media = media+preco;
				test = test+numero;
			}
			{

			}
			System.out.println(formato);
			System.out.printf("A Média Atual De Preços De Todos Os Produtos Até O Momento É De: R$ %.2f %n" ,(media/i));
			System.out.printf("A Quantidade De Itens No Estoque No Momento É De: %.0f %n %n",test);

		}
	}catch(FileNotFoundException e) {
		System.out.println("Arquivo não encontrado: " + e.getMessage());
	}catch(ArrayIndexOutOfBoundsException e) {
		System.out.println("Indice Errado!" + e.getMessage());
	}catch(IOException e) {
		System.out.println("IO erro: " + e.getMessage());
	}finally{
		if (arquivoCSV != null) {
			try {
				conteudoCSV.close();
			}catch(IOException e) {
				System.out.println("IO erro: " + e.getMessage());
			}}}}}

o campo que eu travei e não consigo sair é esse::::

			String formato = String.format("Produto: %-70s |Marca: %-20s |Preço: %-20s |Quantidade: %s", campo[0], campo[1], campo[2], campo[3]);
			String compare0 = new String(campo[2]);
			String compare1 = new String(campo[2]);

por favor , alguém me ajuda