GithubHelp home page GithubHelp logo

primeirospassos-ordenacao-list's Introduction

PrimeirosPassos-Ordenacao-list

Trabalhando com Collections Java Ordenação de elementos em uma coleção List

package primeirospassosordenaçãolist.com.br;

/*Dadas as seguintes informações sobre meus gatos, crie uma lista e ordene esta lista exibindo: (nome - idade - cor);

Gato 1 = nome: Jon, idade: 18, cor: preto Gato 2 = nome: Simba, idade: 6, cor: tigrado Gato 3 = nome: Jon, idade: 12, cor: amarelo */

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List;

public class PrimeirosPassosExemploOrdenaçãoList { public static void main(String[] args) {

    List<Gato> meusGatos = new ArrayList<>(){{
        add(new Gato("Jon", 12, "preto"));
        add(new Gato("Simba", 6, "tigrado"));
        add(new Gato("Jon", 18, "amarelo"));
    }};
    meusGatos.sort(Comparator.comparing(Gato::getNome));


    System.out.println("--\tOrdem de Inserção\t---");
    System.out.println(meusGatos);

    System.out.println("--\tOrdem aleatória\t---");
    Collections.shuffle(meusGatos);
    System.out.println(meusGatos);

    System.out.println("--\tOrdem Natural (Nome)\t---");
    Collections.sort(meusGatos);
    System.out.println(meusGatos);

    System.out.println("--\tOrdem Idade\t---");

// Collections.sort(meusGatos, new ComparatorIdade()); meusGatos.sort(new ComparatorIdade()); System.out.println(meusGatos);

    System.out.println("--\tOrdem cor\t---");

// Collections.sort(meusGatos, new ComparatorCor()); meusGatos.sort(new ComparatorCor()); System.out.println(meusGatos);

    System.out.println("--\tOrdem Nome/Cor/Idade\t---");

// Collections.sort(meusGatos, new ComparatorNomeCorIdade()); meusGatos.sort(new ComparatorNomeCorIdade()); System.out.println(meusGatos); } }

class Gato implements Comparable{ private String nome; private Integer idade; private String cor;

public Gato(String nome, Integer idade, String cor) {
    this.nome = nome;
    this.idade = idade;
    this.cor = cor;
}

public String getNome() {
    return nome;
}

public Integer getIdade() {
    return idade;
}

public String getCor() {
    return cor;
}

@Override
public String toString() {
    return "{" +
            "nome='" + nome + '\'' +
            ", idade=" + idade +
            ", cor='" + cor + '\'' +
            '}';
}

@Override
public int compareTo(Gato gato) {
    return this.getNome().compareToIgnoreCase(gato.getNome());
}

}

class ComparatorIdade implements Comparator { @Override public int compare(Gato g1, Gato g2) { return Integer.compare(g1.getIdade(), g2.getIdade()); } }

class ComparatorCor implements Comparator {

@Override
public int compare(Gato g1, Gato g2) {
    return g1.getCor().compareToIgnoreCase(g2.getCor());
}

}

class ComparatorNomeCorIdade implements Comparator {

@Override
public int compare(Gato g1, Gato g2) {
    int nome = g1.getNome().compareToIgnoreCase(g2.getNome());
    if (nome != 0) return nome;

    int cor = g1.getCor().compareToIgnoreCase(g2.getCor());
    if(cor !=0) return cor;

    return Integer.compare(g1.getIdade(), g2.getIdade());

}

}

C:\Users\Irene.jdks\openjdk-18.0.1.1\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.1\lib\idea_rt.jar=52673:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\Irene\Documents\Primeiros Passos Elementos List\PrimeirosPassosElementosList\out\production\PrimeirosPassosElementosList" primeirospassosordenaçãolist.com.br.PrimeirosPassosExemploOrdenaçãoList

-- Ordem de Inser��o --- [{nome='Jon', idade=12, cor='preto'}, {nome='Jon', idade=18, cor='amarelo'}, {nome='Simba', idade=6, cor='tigrado'}] -- Ordem aleat�ria --- [{nome='Jon', idade=12, cor='preto'}, {nome='Jon', idade=18, cor='amarelo'}, {nome='Simba', idade=6, cor='tigrado'}] -- Ordem Natural (Nome) --- [{nome='Jon', idade=12, cor='preto'}, {nome='Jon', idade=18, cor='amarelo'}, {nome='Simba', idade=6, cor='tigrado'}] -- Ordem Idade --- [{nome='Simba', idade=6, cor='tigrado'}, {nome='Jon', idade=12, cor='preto'}, {nome='Jon', idade=18, cor='amarelo'}] -- Ordem cor --- [{nome='Jon', idade=18, cor='amarelo'}, {nome='Jon', idade=12, cor='preto'}, {nome='Simba', idade=6, cor='tigrado'}] -- Ordem Nome/Cor/Idade --- [{nome='Jon', idade=18, cor='amarelo'}, {nome='Jon', idade=12, cor='preto'}, {nome='Simba', idade=6, cor='tigrado'}]

Process finished with exit code 0

primeirospassos-ordenacao-list's People

Contributors

issf69 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.