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;
}
}
Java 去除 ArrayList 集合中的重复元素的更多相关文章
- java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。
import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...
- 集合框架-ArrayList练习(去除ArrayList集合中的重复元素)
1 package cn.itcast.p3.arraylist.test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- 去除ArrayList集合中的重复自定义对象元素
要求去除ArrayList集合中重复的Student的对象(什么叫重复,所有属性值都相同叫做重复). 思路: 1.创建一个新集合 2.遍历旧集合中的每一个元素,去新集合中找这个元素,如果这个元素不存在 ...
- 如何去除List集合中的重复元素?
一.问题由来 在实际开发的时候,我们经常会碰到这么一个问题:一个集合容器里面有很多重复的对象,里面的对象没有主键,或者说忽略主键,根据业务的需求,我们需要根据条件筛选出没有重复的对象. 二.去重操作 ...
- Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)
1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例之 去除集合中重复元素,不创建新的集合: package ...
- Java去除ArrayList集合中重复字符串的案例
ArrayList去除集合中的字符串重复值 分析: A:创建集合对象 B:添加多个字符串元素 C:创建新集合 D:遍历旧集合,获取得到每一个元素 E:拿着个元素到新集合去找,看有没有 有:不进去 没有 ...
- 去掉Arraylist集合中的重复元素
package cn.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.Scann ...
- 如何去除List集合中的重复元素? a,b,c,a,c,b,d,,,,,,
package com.fs.test; import java.util.ArrayList; import java.util.List; public class Listdemo { publ ...
随机推荐
- ucos互斥信号量解决优先级反转问题
在可剥夺性的内核中,当任务以独占方式使用共享资源的时候,会出现低优先级任务高于高优先级任务运行的情况,这种情况叫做优先级反转,对于实时操作系统而言,这是一场灾难,下面我们来说说优先级反转的典型环境. ...
- STM32-USB详细使用说明(转)
源:STM32-USB详细使用说明 附件HID的双向通信 亮点STM32开发板充实了USBHID数据发送和接收例程(STM32固件库3.5 USB库3.4)
- ios 字体设计
ref: http://ju.outofmemory.cn/entry/217705 ref:http://gold.xitu.io/entry/57958a41128fe10056be13b1 下面 ...
- easyui 异步json tree跨域访问问题解决
最近在用easyui中的异步tree时发现了跨域访问问题,我们都知道jquery ajax提供get请求的跨域访问.所以解决easyui tree跨域访问的问题便是将数据通过jquery ajax将数 ...
- xml--笔记
1.例子 <?xml version="1.0" encoding="utf-8"?> <!--引用css样式文件--> <?xm ...
- vuejs 子组件传递父组件的第二种方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 反射机制(实例化Class)对象
反,就是利用对象找到对象的出处 Object类中有一个方法,getClass() Date date = new Date(); System.out.println(date.getClass()) ...
- Linux安装Tomcat外部不能访问
Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...
- MyEclipse 自动换行
打开Eclipse的Window菜单,然后Preferences->Java->Code Style->Formatter->Edit/Show(根据不同版本可用的按钮会不一样 ...
- 创建 github 仓库
1. 创建入口 在右上角找到 “+” 然后,选择 “New repository” 进行创建. 2. 填入信息 输入名字和描述 . 选择 “Initialize this repository wit ...