练习 HashSet 去重复
package com.rf.xs.list;
import java.util.HashSet;
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public boolean equals(Object obj){
if(obj instanceof Person){ //判断obj是不是 Person类型 instanceof:运算符
Person p = (Person)obj;
return this.name.equals(p.name)&& this.age == p.age;
}
return false;
}
public int HashCode(){
return 0;
}
public String toString(){
return"Person[name="+name+",age="+age+"]";
}
@Override
public int hashCode() { //如果哈希值相同,才回判断equlas是否相同,如果哈希值不同,不会调用equlas方法。
// TODO Auto-generated method stub
return 0;
}
}
package com.rf.xs.list;
import java.util.HashSet;
import java.util.Iterator;
public class TextHashSet01 {
public static void main(String[] args) {
Person per1 = new Person("q", 18);
Person per2 = new Person("q", 18);
Person per3 = new Person("u", 18);
Person per4 = new Person("w", 28);
Person per5 = new Person("r", 17);
//Person[] p = { per1, per2, per3, per4, per5 };
HashSet<Person> l = new HashSet<Person>();
l.add(per1);
l.add(per2);
l.add(per3);
l.add(per4);
l.add(per5);
HashSet<Person> pers = qc(l);
System.out.println(pers);
}
public static HashSet<Person> qc(HashSet<Person> l){
HashSet<Person> pers = new HashSet<Person>();
Iterator<Person> m = l.iterator();
while (m.hasNext()) {
Person n = m.next();
if (!pers.contains(n)) {
pers.add(n);
}
}
return pers;
}
}
练习 HashSet 去重复的更多相关文章
- (java/javascript) list 交集 并集 差集 去重复并集
java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...
- mysql数据库去重复
参考:http://www.cnblogs.com/duanjie/archive/2011/08/13/2136862.html 说到去重复,感觉逻辑很简单.但动手写起来却并不是那么容易.面试的时候 ...
- 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...
- Oracel查询根据部分字段去重复
一般一个表的id是唯一的,如果除去id则会有重复数据,有时做项目时查询要求根据某几个字段去掉重复记录,并且查询保留id 以下是Oracel查询时根据部分字段去重复,例如,查询的字段包括id,Sys,C ...
- 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式
为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...
- postgre去重复记录
postgre去重复记录,主要用到row定位的一个系统表示 “ctid”,能查出纯净的不重复的记录,那要删掉重复值也就容易了,自己去折腾吧. 我所涉及的是得到不重复的记录,就一句话: select c ...
- php数组去重复代码
php数组去重复数据示例,有时候获得的php数组中总是出现value重复的,使用下面的方法就可以去掉重复数据 以数字开头的重复数据如: Array ( [0] => 100 [k1] =&g ...
- 用泛型的IEqualityComparer<T>接口去重复项
提供者:porschev 题目:下列数据放在一个List中,当ID和Name都相同时,去掉重复数据 ID Name 1 张三 1 李三 1 小伟 1 李三 2 李四 2 李武 ----- ...
- distinct 去重复查询——两个表join 连接,去掉重复的数据
------distinct 去重复查询 select * from accounts acc join (select distinct accid from roles) r on r.acci ...
随机推荐
- VS Code插件配置
常用 VS Code 插件: Auto Import 有了这个插件,就不需要再手动引入文件了.如果是基于组件的项目,直接输入组件名插件会自动处理 imported. ** Add jsdoc comm ...
- L1范数与L2范数
L1范数与L2范数 L1范数与L2范数在机器学习中,是常用的两个正则项,都可以防止过拟合的现象.L1范数的正则项优化参数具有稀疏特性,可用于特征选择:L2范数正则项优化的参数较小,具有较好的抗干 ...
- C++_day8pm_多态
1.什么是多态 2. 示例代码: #include <iostream> using namespace std; //形状:位置.绘制 //+--圆形:半径.(绘制) //+--矩形:长 ...
- 学习笔记77—Iphone集
****************************************************** 如有谬误,请联系指正.转载请注明出处. 联系方式: e-mail: heyi9069@gm ...
- Redis(一)--安装与简介
1.Redis是用c编写的,刚开始只支持linux,后来又团队开发出了windows版本:Redis属于非关系型数据库,key-value格式,传统关系型数据库处理高并发.海量数据存储和访问.高可扩展 ...
- JavaScript如何生成思维导图(mindmap)
JavaScript如何生成思维导图(mindmap) 一.总结 一句话总结:可以直接用gojs gojs 二.一个用JavaScript生成思维导图(mindmap)的github repo(转) ...
- Oracle中国移动经典面试题(附代码跟两种答案)
/*中国移动sql面试题: create table test( id number(10) primary key, type number(10) , t_id number(10), ...
- SpringBoot使用日志
1.日志框架 日志门面 日志实现 JCL.SLF4J.jboss-logging Log4j.JUL.Log4j2.Logback 日志门面:SLF4J 日志实现:Logback SpringBoot ...
- 在html后面拼接字符串后页面的跳转
我就举一个简单的栗子,主要目的是实现页面跳转时后面获取的参数 <div class="active"> 点击我可以跳转 </div> 样式就随便写一下 之后 ...
- JDK8下Object类源码理解
JDK8中Object类提供的方法: package java.lang; /** * Class {@code Object} is the root of the class hierarchy. ...