清除(ArrayList)集合中重复元素
来源:互联网 发布:淘宝自行车哪家好 编辑:程序博客网 时间:2024/05/23 15:48
需求:编写一个函数清除(ArrayList)集合中重复元素,如果书号是一样的就视为重复元素。
方式1:get
方式2:迭代器
package com.cn.list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年7月14日12:43:48
* Desc:需求:编写一个函数清除集合中重复元素,如果书号是一样的就视为重复元素。
*/
class Book{
int id;
String name;
public Book(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
Book b = (Book)obj;
return this.id == b.id;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return this.id;
}
}
public class Demo6 {
public static void main(String[] args) {
ArrayList list2 = new ArrayList();
list2.add(new Book(110, "java编程思想"));
list2.add(new Book(120, "java核心技术"));
list2.add(new Book(130, "深入JavaWEB"));
list2.add(new Book(110, "jsp"));
list2.add(new Book(140, "javaScript"));
list2.add(new Book(150, "javaee"));
list2.add(new Book(120, "java核心技术大全"));
ArrayList list = clearRepeat3(list2);
//ArrayList list = clearRepeat2(list2);
//ArrayList list = clearRepeat1(list2);
printList(list);
}
//遍历结合输出
public static void printList(ArrayList list) {
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Book b = (Book)iterator.next();
System.out.println(b.id + "\t" + b.name);
}
}
public static ArrayList clearRepeat1(ArrayList list){
//创建一个新的集合
ArrayList newList = new ArrayList();
//获取迭代器
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Book b = (Book)iterator.next();//从旧集合中获取的元素
Iterator iterator2 = newList.iterator();
boolean flag = true;
while(iterator2.hasNext()){
Book b2 = (Book)iterator2.next();//获取新集合中的元素
if(b.id == b2.id){
flag = false;
}
}
if(flag)
newList.add(b);
}
return newList;
}
//get方法
public static ArrayList clearRepeat2(List list2) {
ArrayList list = new ArrayList();
for(int i=0; i<list2.size(); i++){
Book b2 = (Book)list2.get(i);
boolean flag = true;
for(int j=0; j<list.size(); j++){
Book b = (Book)list.get(j);
if(b2.id == b.id){
flag = false;
}
}
if(flag){
list.add(list2.get(i));
}
}
return list;
}
//迭代器
public static ArrayList clearRepeat3(ArrayList list2) {
ArrayList list = new ArrayList();
Iterator iterator = list2.iterator();
while(iterator.hasNext()){
Book b = (Book)iterator.next();
if(!list.contains(b)){//这里比较的是id是否相同,所以要重写equals方法(和hashCode方法)
list.add(b);
}
}
return list;
}
}
0 0
- 清除(ArrayList)集合中重复元素
- 如何去掉ArrayList中重复的集合----元素为集合
- 清除集合中重复元素--Java基础076
- ArrayList去除集合中自定义对象元素的重复值
- 移除ArrayList集合中重复的元素
- ArrayList去除集合中自定义对象元素的重复值
- 集合ArrayList中删除重复元素两种方法
- 删除ArrayList中重复元素
- 删除ArrayList中重复元素
- 删除ArrayList中重复元素
- 删除ArrayList中重复元素
- 去除ArrayList集合中的重复元素
- Java 去除ArrayList集合中的重复元素。
- 去除ArrayList集合中的重复元素
- 去除ArrayList集合中的重复字符串元素
- 将自定义对象作为元素存到ArrayList集合中,并去除重复元素
- 黑马程序员-将自定义对象最为元素存到ArrayList集合中,并去除重复元素
- 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
- POJ 2217 Secretary (后缀数组)
- SVN版本控制——SVN merge 三种方式
- CCF-有趣的数(数位DP)
- SWJTU oj Short Problem(异或求和)
- Java之数组text1
- 清除(ArrayList)集合中重复元素
- shell 查询db
- HDU 1517 A Multiplication Game (博弈,SG函数)
- 【Java】SingleTalkServer代码理解与学习笔记
- request.setattribute与session.setattrbute的区别
- return、break和continue
- LinkedList类
- ORA-01733: 此处不允许虚拟列
- ZendStudio11.0.2破解教程