目录
1、for循环+contains
public class 判断_contains
{
public static void main(String[] args)
{
ArrayList arrayList = new ArrayList();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("张三");
arrayList.add("李四");
ArrayList newlist = new ArrayList();
for(Object el:arrayList)
{
if (!newlist.contains(el))
{
newlist.add(el);
}
}
System.out.println("原集合:"+arrayList);
System.out.println("去重后的集合:"+newlist);
}
}
2、for循环+set集合
public class set集合
{
public static void main(String[] args)
{
ArrayList arrayList = new ArrayList();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("张三");
arrayList.add("李四");
Set set = new HashSet();
List newlist = new ArrayList<>();
for (Object el : arrayList)
{
if (set.add(el))
{
newlist.add(el);
}
}
System.out.println("原集合:" + arrayList);
System.out.println("去重后的集合:" + newlist);
}
}
3、set集合的addAll方法
public class set_addAll去重
{
public static void main(String[] args)
{
ArrayList arrayList = new ArrayList();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("张三");
arrayList.add("李四");
Set set=new HashSet();
List newlist=new ArrayList<>();
set.addAll(arrayList);
newlist.addAll(set);
System.out.println("原集合:"+arrayList);
System.out.println("去重后的集合:"+newlist);
}
}
4、list集合转换为set集合
public class set_list转换
{
public static void main(String[] args)
{
ArrayList arrayList = new ArrayList();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("张三");
arrayList.add("李四");
List newlist=new ArrayList( new TreeSet(arrayList));
System.out.println("原集合:"+arrayList);
System.out.println("去重后的集合:"+newlist);
}
}
5、JDK1.8的流式处理
public class stream
{
public static void main(String[] args)
{
ArrayList arrayList = new ArrayList();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("张三");
arrayList.add("李四");
ArrayList newlist= new ArrayList();
System.out.println("原集合:"+arrayList);
arrayList.stream().distinct().forEach((i)->{newlist.add(i);});
System.out.println("去重后的集合:"+newlist);
}
}
备注:
利用set集合去重时,除了8种基本数据类型和String,其他对象都要在JavaBean中重写hashCode()和equals()。