標籤:
// One practicepackage Collection;import java.util.ArrayList;import java.util.Iterator;// 去除 ArrayList 集合中的重複元素public class ArrayListTest{public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args){ArrayList<String> arrayList = new ArrayList<String>();arrayList.add("java01");arrayList.add("java02");arrayList.add("java03");arrayList.add("java04");arrayList.add("java01");arrayList.add("java02");arrayList.add("java03");sop(arrayList);arrayList = singleElement(arrayList);sop(arrayList);}public static ArrayList<String> singleElement(ArrayList<String> al){// 定義一個臨時容器ArrayList newAl = new ArrayList();Iterator iterator = al.iterator();while (iterator.hasNext()){Object obj = iterator.next();if (!newAl.contains(obj)){newAl.add(obj);}}return newAl;}}// Practice Twopackage Collection;import java.util.ArrayList;import java.util.Iterator;// 將自訂對象作為元素存到 ArrayList 集合中,並去除重複元素// 比如:存人對象。同姓名同年齡,視為同一個人。為重複元素/*1.對人描述,將資料封裝進入對象2.定義容器,將人存入3.取出List集合判斷元素是否相同,依據是元素的 equals 方法。*/class Person{private String name;private int age;Person(String name,int age){this.name = name;this.age = age;}// 重寫 equals 方法public boolean equals(Object obj){if (!(obj instanceof Person)){return false;}Person person = (Person)obj;return this.name.equals(person.name) && this.age == person.age;}public String getname(){return name;}public int getage(){return age;}}public class ArrayListTest2{public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args){ArrayList al = new ArrayList();al.add(new Person("Xp01", 30));al.add(new Person("Xp02", 35));al.add(new Person("Xp02", 35));al.add(new Person("Xp03", 37));al.add(new Person("Xp04", 35));al.add(new Person("Xp04", 35));al = singleElement(al);Iterator it = al.iterator();while (it.hasNext()){Person p = (Person)it.next();sop(p.getname()+"::"+p.getage());}}public static ArrayList singleElement(ArrayList<String> al){// 定義一個臨時容器ArrayList newAl = new ArrayList();Iterator iterator = al.iterator();while (iterator.hasNext()){Object obj = iterator.next();if (!newAl.contains(obj)){newAl.add(obj);}}return newAl;}}
Java 去除 ArrayList 集合中的重複元素