泛型方法——删除数组中的重复项
T为任意类,由于数据需要和同类型的数据进行比较,所以,T需要继承Comparable,便于数据的比较。
package java泛型3;
import java.util.ArrayList;
public class main {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> array=new ArrayList<Integer>();
for(int i=0;i<3;i++)
{
array.add(i);
array.add(i);
array.add(i);
array.add(i);
}
for(int i = 0;i<array.size();i++)
{
System.out.print(array.get(i)+" ");
}
System.out.println();
array=removeDulicates(array);
for(int i = 0;i<array.size();i++)
{
System.out.print(array.get(i)+" ");
}
}
public static <T extends Comparable<T>> ArrayList<T> removeDulicates(ArrayList<T> array)//去除数组中的重复项,T继承Comparable类,便于后面进行比较
{
ArrayList<T> s=new ArrayList<T>();//定义一个空的泛型数组
for(int i=0;i<array.size();)
{
s.add(array.get(0));//空的数组获得要删除重复项的数组的第一项
for(int j=i+1;j<array.size();j++)//将第一项和后面的数据比较,是否相等,若是,删除;不是跳过
{
if(array.get(0).compareTo(array.get(j))==0)
{
array.remove(j);
j--;
}
}
array.remove(0);//
}
return s;
}
}
截图如下: