1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Quero fazer com que seja apenas printado "Babana 2", alguém me pode ajudar? Isto foi o que fiz.

Discussão em 'Programação' iniciada por pedrosilva21, 6 de Novembro de 2018. (Respostas: 3; Visualizações: 177)

  1. package com.minderaschool.Maps;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;


    public class Maps {
    public static void main(String[] args) {

    HashMap<String, Integer> commons = new HashMap();
    ArrayList<String> list = new ArrayList() {{

    add("Dog");
    add("Cat");
    add("Bird");
    add("Banana");
    add("Strawberry");
    add("Banana");
    }};

    for (int i = 0; i < list.size(); i++) {

    //If word is contained in the Map, enter if
    if (commons.containsKey(list.get(i))) {
    //Fetch value from commons giving the key
    Integer value = commons.get(list.get(i));
    //in value we add +1
    value = value+1;
    //Update commons
    commons.put(list.get(i), value);


    } else {
    // else add string with 1
    commons.put(list.get(i), 1);
    }
    }
    // will iterate and enter the key and the value
    for (Map.Entry entry : commons.entrySet()) {
    System.out.println(entry.getKey() + " " + entry.getValue());
    }
    }
    }
     
  2. Não estou a perceber o que queres fazer. O código diz o número de vezes que cada string aparece corretamente, não é isso que queres?
     
  3. nao, o que quero é que nesse codigo, em ves de ser printado todos os valores (dog 1, cat 1, bird 1, babana2, strawberry 1), que print apenas o (banana 2)
     
  4. Então se só queres saber das bananas basta usares o método get() do HashMap. Faz commons.get("banana") e tens o número de vezes que banana aparece. Tem em atenção que o método devolve null se o número de bananas for 0.
     

Partilhar esta Página