清除集合中重复元素--Java基础076

来源:互联网 发布:淘宝卖奶粉有什么要求 编辑:程序博客网 时间:2024/05/15 06:38
package cn.itcast.list;import java.util.ArrayList;import java.util.Iterator;/**/class Book{int id;String name;// 名字public Book(int id, String name) {this.id = id;this.name = name;}@Overridepublic String toString() {return "{ 书号:"+ this.id+" 书名:"+ this.name+" }";}@Overridepublic boolean equals(Object obj) {Book book =(Book)obj;return this.id==book.id;}}// 需求: 编写一个函数清除集合中重复元素。//如果书号是一样就视为重复元素。  要求: 遍历集合元素的时候必须使用迭代器。  get 迭代器public class Demo7 {public static void main(String[] args) {ArrayList list=  new ArrayList();list.add(new Book(110,"java编程思想"));list.add(new Book(220,"java核心技术"));list.add(new Book(330,"深入javaweb"));list.add(new Book(110,"javas神书"));ArrayList list2 = clearRepeat(list);System.out.println("新集合的元素是:"+ list2);}public static ArrayList  clearRepeat(ArrayList list){//创建一个新的集合ArrayList newList = new ArrayList();//获取迭代器Iterator it = list.iterator();while(it.hasNext()){Book book = (Book) it.next();  //从旧集合中获取的元素if(!newList.contains(book)){//如果新集合没有包含该书籍,那么就存储到新集合中newList.add(book);}}return newList;}}



package com.sqf.conlection;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;/*需求: 编写一个函数清除集合中重复元素。如果书号是一样就视为重复元素。  要求: 遍历集合元素的时候必须使用迭代器。  get 迭代器*/class Book{private int id;private String name;public Book() {}public Book(int id,String name) {this.id = id;this.name = name;}@Overridepublic boolean equals(Object obj) {Book book = (Book) obj;return this.id==book.id;}@Overridepublic String toString() {return "id:"+id + "  name:"+name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}public class Demo3 {public static void main(String[] args) {List list = new ArrayList();list.add(new Book(110, "C语言"));list.add(new Book(111, "C++语言"));list.add(new Book(112, "java语言"));list.add(new Book(113, "C#"));list.add(new Book(114, "JavaScript"));list.add(new Book(111, "你猜"));ListIterator it = list.listIterator();ListIterator it1;List list1 = new ArrayList();while(it.hasNext()){Book book = (Book) it.next();int flag = 1;it1 = list1.listIterator();while(it1.hasNext()){Book book1 = (Book) it1.next();if(book1.equals(book)){flag = 0;break;}}if(flag==1){it1.add(book);}}System.out.println(list1);}}