Set是唯一 无序的
来源:互联网 发布:淘宝幸运大抽奖在哪 编辑:程序博客网 时间:2024/04/27 17:22
在Set插入自定义类,通过new的对象地址值不同,但是数值可能相同,为了保证set的唯一性特点,要重写hashcode()和equals()方法
@Override
public int hashCode() { //重写hashCode()方法
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
long temp;
temp = Double.doubleToLongBits(score);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + sid;
return result;
}
@Override
public boolean equals(Object obj) { //重写equals()方法
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (Double.doubleToLongBits(score) != Double
.doubleToLongBits(other.score))
return false;
if (sid != other.sid)
return false;
return true;
}
public class TestHashSet2 {
public static void main(String[] args) {
//1.创建集合对象
// HashSet<Student> setStu=new HashSet<Student>();
//
Set<Student> setStu=new LinkedHashSet<Student>();
//2.添加学员信息
setStu.add(new Student(1001,"aa",12,78.9)); //相同的对象
setStu.add(new Student(1002,"bb",23,89));
setStu.add(new Student(1003,"cc",18,100));
setStu.add(new Student(1001,"aa",12,78.9)); //相同的对象
setStu.add(new Student(1001,"aa",12,78.9)); //相同的对象
//3.遍历输出
System.out.println(setStu.size()); //输出为 3 若不重写hashcode()和equals()方法输出为 5
System.out.println(setStu.toString());
}
}
- Set是唯一 无序的
- set基本用法,set接口存储一组唯一,无序的对象。数据存放无序,非常简单,主要呈现信息列表。
- set是没有重复无素的无序集合
- HashMap是无序的
- HashMap是无序的
- --Set * 无序(存储顺序和取出顺序不一致),唯一
- Set是如何保证里面的元素唯一
- 咿呀,字典是无序的
- HashSet真的是无序的吗?
- JS对象属性是无序的
- python 字典为什么是无序的?
- HashSet实现是无序的测试
- HashMap源码分析,为什么是无序的?
- java唯一无序id生成
- javascript对象是对象是无序数据的集合,如何通过实验体验它无序
- 【Java集合框架】Map与Set的有序与无序
- 爱是唯一的金子
- 你是我的唯一
- HTTP协议——处理状态和返回状态码含义
- HADOOP的本地库(NATIVE LIBRARIES)介绍
- 导出所有DB2存储过程的四种方法
- Javascript学习笔记(8)
- socket
- Set是唯一 无序的
- eclipse常用20个快捷键
- Oracle BI Server DNS 配置错误集
- 部署MyEclipse工具中的Web程序到TomCat服务器并启动Web程序
- Getting started Play Framework
- HTML5新特性之WebSocket
- Leetcode题解 67. Add Binary
- 【OpenStack头道鲜】春风十里,不如听君一席,康大厨私人课堂开讲啦!
- unity中FPS计算