java 如何统计重复元素?(可以使用Bag包下的getCount()方法)

发布时间 2023-03-25 16:36:23作者: 东方昭月

/**

*list中元素个数统计

*/

publicvoid test(){

  // 初始化list

  List<String> list = setUpList();

  // list转set

  Setset=newHashSet(list);

  System.out.println("set:"+set);

  // 判断list中是否有重复的元素

  if(list.size()!=set.size()){

  System.out.println("list中存在重复元素");

  // 统计list中重复元素及其个数

  countEqualElement(list);

}

 

/**

*统计list中重复元素个数

*/

privatevoid countEqualElement(List<String> list){

  Bag bag =newHashBag(list);

  // 相同元素集合

  Set<String> equalElesSet =newHashSet<String>();

  // 相同元素

  String equalElement ="";

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

  equalElement = list.get(i);

  // 利用hashBag的getCount()方法进行统计重复元素个数

  int count = bag.getCount(equalElement);

  if(count >1){

    // 保存重复元素

    equalElesSet.add(equalElement);

         }

        }

  if(equalElesSet.size()>0){

  // 相同元素个数

  int length = equalElesSet.size();

  System.out.println("重复元素组数:"+ length);

  // 输出相同元素

  Iterator<String> it = equalElesSet.iterator();

  int count =1;

  while(it.hasNext()){

    Stringnext= it.next();

    System.out.println("第"+ count +"个重复元素:"+next);

    count++;

  }

}