Duvida no método compareTo JAVA

Ola Pessoal,
estou com duvida de como posso implementar um método usando o compareTO:
precisava fazer a comparação de 2 objetos que cada um recebe uma string:

public class Par {
private String primeiro;
private String segundo;
tenho a classe Par:
ublic class Par {
private String primeiro;
private String segundo;

public Par(String primeiro, String segundo) {
    this.primeiro = primeiro;
    this.segundo = segundo;
}

Par() {
    
}

public String getPrimeiro() {
    return primeiro;
}

public void setPrimeiro(String primeiro) {
    this.primeiro = primeiro;
}

public String getSegundo() {
    return segundo;
}

public void setSegundo(String segundo) {
    this.segundo = segundo;
}

}

e a classe parTest:
public class TestePar {

public static void main(String[] args) {
    String[] palavras = {"O","rato","Roeu","A","Roupa","Do","Rei","Roma"};
    Par<String> mm = minmax(palavras);
    System.out.println("min\t=t" + mm.getPrimeiro());
    System.out.println("min\t=t" + mm.getSegundo());
    
}

public static Par<String>minmax(String[]str){

}

o método mimmax precisaria devolver o menor e o maior valor do vetor de String palavras através dos atributos primeiro e segundo da classe Par, mas não sei como posso fazer essa comparação desses dois atributos utilizando o objeto da classe.

Olá,
quando vc fala em maior/menor vc quer dizer maior em quantidade de caracteres ou pela ordem alfabética?

seria em ordem alfabética, onde o metodo getPrimeiro retornaria a maior letra e o getSegundo a ultima letra.

Desculpe a demora, mas como vc n me marcou nem respondeu meu comentário, não recebi notificação disso.
Segue ai exemplo para ordenar, implementando seu comparator:
https://stackoverflow.com/questions/18441846/how-to-sort-an-arraylist-in-java#answer-18441978

Ou simplesmente:
java.util.Collections.sort(suaListaDeStrings)
é só mudar seu código pra lista ao invés de array.