>>343
こんな感じ?
// ArrayList作成
String[] object = {"AA","AB","AB","AC","AC","AA","AC","AB","AB","AA","AC"};
ArrayList arrayList = new ArrayList();
for (int i = 0; i < object.length; i++)
arrayList.add(object[i]);
// 種類を数える
ArrayList syurui = new ArrayList();
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
if (! syurui.contains(s)) syurui.add(s);
}
System.out.print("種類は");
for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");

AbstractCollection#contains()はequalsで比較してた気がするのでこれでいいのかな?