------- android培训、java培训、java基础学习技术总结、期待与您交流! ----------
删除ArrayList中重复元素的方法有两种:
方法一:创建一个新的ArrayList对象,对旧ArrayList对象中的元素进行判断,当新的ArrayList中对象已经存在,则不执行添加。判断对象是否重复的方法的关键在于在元素对象中复写equals方法。
package com.itcast.test; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; class Student{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name,int age){ this.name=name; this.age=age; } public boolean equals(Object obj){ if(!(obj instanceof Student)) return false; Student stu=(Student)obj; return this.name.equals(stu.name)&&this.age==stu.age; } } public class RemoveSame { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<Object> arr=new ArrayList(); arr.add(new Student("zhangsan",23)); arr.add(new Student("zhangsan",23)); arr.add(new Student("lisi",22)); arr.add(new Student("lisi",22)); arr.add(new Student("wangwu",22)); arr=singleArrayList(arr); Iterator it=arr.iterator(); while(it.hasNext()){ Student stu=(Student)it.next(); System.out.println(stu.getName()+"....."+stu.getAge()); } } public static ArrayList singleArrayList(ArrayList al){ ArrayList newal=new ArrayList(); Iterator it1=al.iterator(); while(it1.hasNext()){ Object obj=it1.next(); if(!newal.contains(obj)){ newal.add(obj); } } return newal; } }
第二种方法:创建一个HashSet对象,将Arraylist中的元素一次放入set中,由于set集合中元素不允许重复,那么重复的元素就不能添加到set中。set中判断元素是否重复的关键在于在元素对象中重写了equals方法和hashCode方法。
package com.itcast.test; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; class Student{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name,int age){ this.name=name; this.age=age; } public boolean equals(Object obj){ if(!(obj instanceof Student)) return false; Student stu=(Student)obj; return this.name.equals(stu.name)&&this.age==stu.age; } public int hashCode(){ return name.length()+age*38; } } public class RemoveSame1 { public static void main(String[] args){ ArrayList arr=new ArrayList(); arr.add(new Student("zhangsan",23)); arr.add(new Student("zhangsan",23)); arr.add(new Student("lisi",22)); arr.add(new Student("lisi",22)); arr.add(new Student("wangwu",22)); HashSet set=new HashSet(); Iterator it=arr.iterator(); while(it.hasNext()){ set.add(it.next()); } Iterator it1=set.iterator(); while(it1.hasNext()){ Student stu=(Student) it1.next(); System.out.println(stu.getName()+"...."+stu.getAge()); } } }
相关推荐
我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,如果我们操纵的数据...
集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试集合ArrayList测试
介绍Arraaylist,tree,LinkList等
JSP_使用_Session_ArrayList_实现购物车程序
arraylist 一维数组排序
Java 集合框架(2_9)-Collection - ArrayList 源码解析
Collections Framework集合框架是一个统一的架构,用来表示和操作集合.集合框架主要是由接口,抽象类和实现类构成.接口:蓝色;实现类:红色Collection|_____Set(HashSet)| |_____SortedSet(TreeSet)|_____List...
本文主要介绍了Java中ArrayList去除重复元素(包括字符串和自定义对象)的方法。具有很好的参考价值。下面跟着小编一起来看下吧
掌握Java集合框架中的三大类集合的特征和适用场合 掌握ArrayList类的使用 掌握HashMap类的使用 了解HashSet类的使用 掌握Collections类的使用 了解集合框架中的其它集合类 集合框架(Collection Framework) java.util...
能学到什么:在学习Java的朋友,可以从本文教程中学习到Java中最常用的集合框架,HashMap,ArrayList,HashSet等,同时又基于代码有一定层次的原理解释,让大家知其然,知其所以然,而又不会有太高的学习门槛。...
该文档总结了Java集合部分的相关集合框架部分的面试题。
java集合类arraylist循环中删除特定元素的方法.docx
Java集合框架中的List接口是一种有序的集合,它可以存储重复的元素。它是Collection接口的子接口,提供了一系列可以对列表进行操作的方法,如添加、插入、删除、获取元素等。List接口还可以通过索引访问元素,类似于...
使用 Add方法在 ArrayList中添加元素(添加到ArrayList末尾) arrlist.Add("第一个元素"); arrlist.Add("第二个元素"); arrlist.Add("第三个元素"); foreach (int n in new int[3] { 0, 1, 2 }) { arrlist...
2、 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。 3、 方法中的内部类能不能访问方法中的局部变量,为什么? 4、 定义一个交通灯枚举,...
Set集合特点: ① 一次只存一个元素, ... //利用set集合 去除ArrayList集合中的重复元素 ArrayList list = new ArrayList(); list.add("1"); list.add("1"); list.add("2"); list.add("2"); lis
用于约束集合中存储元素的数据类型 1.2ArrayList类常用方法【应用】 1.2.1构造方法 1.2.2成员方法 1.2.3示例代码 public class ArrayListDemo02 { public static void main(String[] args) { //创建集合 ...
主要介绍了2种Java删除ArrayList中的重复元素的方法,感兴趣的朋友可以参考下
它的容量可以自动增长,因此可以方便地插入、删除和查找数据,是Java集合框架中广泛使用的一种结构。 ArrayList的优势在于灵活性和运行速度,它可以自动扩展,支持任何类型的元素并且元素索引从0开始。通过使用...