// 统计集合中出现的多少类数据
//并统计此类数据在集合中出现的次数
// 集合中统计多少类数据
// 并统计集合中a出现了多少次
// 并统计集合中b出现了多少次
import java.util.ArrayList;
public class Demo_10_master {
public static void main(String[] args) {
ArrayList<String> strs = new ArrayList<>();//定义一个空的集合
strs.add("a");//向集合中国添加元素
strs.add("b");
strs.add("d");
strs.add("a");
strs.add("d");
strs.add("a");
strs.add("b");
strs.add("b");
strs.add("d");
strs.add("d");
strs.add("b");
strs.add("c");
strs.add("a");
strs.add("a");
strs.add("a");
strs.add("b");
strs.add("c");
strs.add("b");
strs.add("c");
strs.add("a");
strs.add("a");
strs.add("a");
strs.add("c");
strs.add("b");
strs.add("b");
strs.add("b");
// 定义一个空的集合 存储分类
ArrayList<String> groups = new ArrayList<>();
for (int i = 0; i < strs.size(); i++) {
if(!groups.contains(strs.get(i))){//contatins如果此列表包含指定的元素,则返回 true
//如果groups集合中包含strs中的某个元素时返回true,加!后则为false
//既如果集合groups中不含有strs中的元素时才会执行一下语句
groups.add(strs.get(i));//添加strs中groups没有的元素到集合groups中
}
}
//统计每类出现的次数
for (int i = 0; i < groups.size(); i++) {// a b c d
String group = groups.get(i);//每循环一次获取groups中一个元素
int count=0;//定义变量统计元素出现的次数
for (int j = 0; j < strs.size(); j++) {//统计此元素在集合strs中出现的次数
String str = strs.get(j);
if(group.equals(str)){//如果此元素与strs中的元素相同的话count+1
count++;
}
}
System.out.println(group+"----"+count);
}
System.out.println(groups); //a:20 b:15 c:13
}
}