package cn.itcast.list;
/*
* 去掉List集合重复元素
* 由于List本身运行存储重复元素
* 自定义方法实现
*
* 去掉自定义的对象
*/
import java.util.*;
import cn.itcast.beans.*;;
public class ListTest {
public static void main(String[] args) {
//定义集合,存储字符串
/* List list = new ArrayList();
list.add("abc");
list.add("itcast");
list.add(new String("java"));
list.add(new String("java"));
list.add("php");
list.add("ios");
list.add("ios");*/
//定义集合,存储自定义的学生对象,姓名年龄相同的,去掉
List list = new ArrayList();
list.add(new Student("a",10));
list.add(new Student("b",12));
list.add(new Student("c",15));
list.add(new Student("b",12));
System.out.println(list);
list = method(list);
System.out.println(list);
}
/* 定义方法,实现去掉List集合重复元素
* 方法需要参数,方法在计算中有不确定的数据
* 运算完成,返回去掉重复后的集合
*/
public static List method(List list){
// 创建新的集合
List newlist = new ArrayList();
//迭代传递过来的集合
Iterator it = list.iterator();
while(it.hasNext()){
//变量,存储next方法的结果,重用变量,next只能有一次
Object o = it.next();
//判断元素o,在新的集合中有没有
if(!newlist.contains(o))
//if成立,元素没有,存储到新集合
newlist.add(o);
}
//迭代完成,返回新集合
return newlist;
}
} |
|