java中对List数据递归筛选

Python010

java中对List数据递归筛选,第1张

这个很好写,无非就是list读写麻烦点,写一个递归方法

public list<t>findavg() {

for(int i=0list){

sum += list[i]

}

avg=sum/list.size()

for(int i=0list){

avg*(1-0.2)<=list[i]<=avg*(1+0.2)

list2.add(list[i])

}

return list2

}

依次处理list的元素list[i],用dup装去重元素,mul装重复元素。先检查dup是否包含元素list[i],如果包含则加入mul中。如果没有则加入dup中。最后mul中就是重复数据,dup中就是去掉重复元素的列表。下面是一个实例,首先生成一个列表list,然后找出重复元素。

public class Duplication

{

    public static void main(String[] args)

    {

        List<Integer> list = new ArrayList<Integer>()

        for(int i = 1i <= 10i++)

        {

            if(i%3 == 0) continue

            if(i%2 == 0)

            {

                list.add(i)

                list.add(i)

            }

            else

                list.add(i)

        }

        System.out.println(list)

        

        List<Integer> dup = new ArrayList<Integer>()

        List<Integer> mul = new ArrayList<Integer>()

        for(int a:list)

        {

            if(dup.contains(a))

                mul.add(a)

            else dup.add(a)

        }

        System.out.println(dup)

        System.out.println(mul)

    }

}