Java 去除 ArrayList 集合中的重复元素

// One practice
package 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 Two

package 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;
	}
}

  

  

时间: 2024-12-20 11:47:06

Java 去除 ArrayList 集合中的重复元素的相关文章

java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。

import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { ArrayList al = new ArrayList(); al.add("java01"); al.add("java02&q

Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5)拿着个元素到新集合中去找,看有没有   有:不搭理它 没有:添加到新集合      (6)遍历新集合 2. 案例代码: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6

去除List集合中的重复元素? 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型,自定义类型)?

 关键字: 如果没有Set集合,List集合是怎么去除重复元素的(字符串类型)?  *   *     思考: List就可以存储重复元素,那么需求中容器中的元素必须保证唯一性,该如何解决呢??  *      *   去除List集合中的重复元素?  * * 思路: * * 1.首先我需要另一个临时容器tempList,用来存放我认为应该保留的元素.(也就是不重复的元素) * 2.然后我们应该遍历原容器, 一个一个的取出元素, 放入tempList. * 当tempList里已经装有刚刚取出的

Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 /* 7 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 8 * 要求:不能创建新的集合,就在以前的集合上做. 9 */ 10 public cla

集合框架(去除ArrayList集合中的重复字符串元素案例2)

package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 要求:不能创建新的集合,就在以前的集合上做. */ public class ArrayListDemo2 { public static void main(String[] args) { // 创建集合对象 ArrayList array = new Ar

集合框架(去除ArrayList集合中的重复自定义对象元素案例)

学生类 package cn.itcast_04; public class Student { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public v

如何去除List集合中的重复元素? a,b,c,a,c,b,d,,,,,,

package com.fs.test; import java.util.ArrayList; import java.util.List; public class Listdemo { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("a"); list.add("c"); list.add(&q

去除ArrayList集合中重复字符串元素方式_思路:创建新集合方式

import java.util.ArrayList; import java.util.Iterator; public class jh_01_去除ArrayList集合中重复字符串元素方式 { /* * /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); li

去掉集合中的重复元素

1 //去掉集合中额重复元素 2 //方法:选择排序的思想 3 4 public class ArrayListDemo1 { 5 6 public static void main(String[] args) { 7 8 ArrayList arrayList = new ArrayList(); 9 10 arrayList.add("hello"); 11 arrayList.add("hello"); 12 arrayList.add("java