之前学习制作了DArray,了解ArrayList就容易了。
/** * 用于存储水果名及数量 * */ public class Fruit{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } private int count; public Fruit(String name,int count){ this.name=name; this.count=count; } }
import java.util.ArrayList; import java.util.List; public class Counter{ private List<Fruit> ls; public Counter(){ ls=new ArrayList<Fruit>(); } public void add(String name){ // 在链表中查找同名的fruit元素 for(int i=0;i<ls.size();i++){ if(ls.get(i).getName().equals(name)){ // 找到了 Fruit f=ls.get(i); // 增加同名水果的数量 f.setCount(f.getCount()+1); return; } } // 没有找到,添加一个水果实例,数量为一 ls.add(new Fruit(name,1)); } public void printAll(){ int sum=0; for(Fruit f:ls){ sum+=f.getCount(); System.out.println(f.getName()+" "+f.getCount()); } System.out.println("总计"+" "+sum); } public static void main(String[] args){ Counter c=new Counter(); c.add("苹果"); c.add("荔枝"); c.add("荔枝"); c.add("西瓜"); c.printAll(); } }