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 ...
随机推荐
- IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中
http://blog.csdn.net/github_29614995/article/details/46797917 在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性 ...
- Android SQLite 加密模块实现入门
安卓的安全性那是众所周知,最近学习安卓apk反编译,发现某些即时通讯软件都封装了自己独立使用的数据库模块(从framework java/C++ 一直到底层的SQLite的C库), 为了防止被root ...
- CentOS下成功修复了Windows的grub引导
(转载) 以CentOS7和Windows为双系统,且后安装CentOS时,会出现开机没有Windows引导的问题.下图,倒数第二行可以看到Windows引导项: 修复运行终端(terminal),键 ...
- mysql存储过程中in、out、inout参数使用实际案例
1.参数in的使用(代表输入,意思说你的参数要传到存过过程的过程里面去)//为了避免存储过程中分号(";")结束语句,我们使用分隔符告诉mysql解释器,该段命令是否已经结束了./ ...
- CSS文字大小单位PX、EM、PT
老是被人问到px.pt和em的区别,自己有时候也会纠结到底该用什么单位,今天特意查了一些文章,下面这篇虽然很久远了,但解释的比较全面,转载收藏之.点击查看原文 这里引用的是Jorux的"95 ...
- C++第五天学习
回顾: 1.友元 friend 2.运算符重载 类型 operator运算符(参数表) 抽象.封装 类是面向对象程序设计中最基本的概念 类的背后隐藏的思想是数据抽象和封装 是进行封装和数据隐藏的工具, ...
- 解决mysql 1864 主从错误
从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为 ...
- iReport默认参数和变量的含义解析【转】
iReport默认参数和变量的含义解析[转] http://uule.iteye.com/blog/775338 参考:http://blog.csdn.net/terryzero/article/d ...
- Express 3.0新手指南入门教程
在确认已经安装了node之后(下载), 在你的机器上创建一个目录,让我们来开始你的第一个应用程序吧 $ mkdir hello-world 在这个目录中你首先得定义一下你的应用程序“包”文件,它和其它 ...
- 抓包分析YY音频
YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息. 音频编码为AAC,采样为44K,码率24kb/s.音频编码在24kb/s码率能达到15K的音质.值得大家学习啊 ...