非常基本的问题:
我有一些项目被添加到某个集合中(我还不介意哪个),并且我想要一种按组打印项目的方法,例如
public enum Animal{
COW("cow"), PIG("pig"), SHEEP("sheep");
private String itemName;
public String toString() {
return itemName;
}
}
public class Farm {
private ArrayList<Animal> animals= new ArrayList<>();
animals.add{Animal.COW}
animals.add{Animal.COW}
animals.add{Animal.PIG}
animals.add{Animal.COW}
animals.add{Animal.SHEEP}
animals.add{Animal.PIG}
public String animalList {
...
}
animalList 输出:3 x 牛、2 x pig 、1 x 羊
最好的方法是什么? map 会比列表(即从每种动物到该动物的数量的 map )更好吗?但随后可能很难向 Collection 中添加新动物。
最佳答案
是的,HashMap
是更好的选择,但请在此处使用您的Animal
作为key
HashMap<Animal, Integer> animalHashMap=new HashMap<Animal, Integer>();
animalHashMap.put(Animal.COW, 3);
animalHashMap.put(Animal.SHEEP, 10);
animalHashMap.put(Animal.PIG, 2);
关于java - 在 Java 中打印列表中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404999/