HashSet
来源:互联网 发布:windows office 密钥 编辑:程序博客网 时间:2024/04/30 11:38
package com.cloud.learn;import java.util.HashSet;import java.util.Set;/** * Set接口 没有新方法 HashSet TreeSet * 特征:存放不重复的对象 可以很快的查找 没有下标对应 * 只能用增强的for循环和Iterator进行遍历 */public class TestSet {public static void main(String[] args) {Set<String> set = new HashSet<String>();// set中没有重复的元素 equals的方法判断set.add("a");set.add("b");set.add("c");set.add("a");// set集合中对象的排列顺序与加入的顺序不相关System.out.println(set);boolean b = set.contains("b");System.out.println(b);for (String str : set) {System.out.println(str);}//hashSet扩容时要重新装载对象//可以设置可能开辟多少个对象,默认只有75%的使用Set<Point> pSet = new HashSet<Point>(100);pSet.add(new Point(1, 2));pSet.add(new Point(3, 4));pSet.add(new Point(5, 6));Point p = new Point(3, 4);//equals与hashCode方法是一致的//不重写hashCode时hashCode值为内存中的位置//没有重写hashCode方法时,此处为false。System.out.println(pSet.contains(p));}}
Point类中重写的hasCode和equals方法
public boolean equals(Object obj) {if(obj == null){return false;}if(obj == this){return true;}if(obj instanceof Point){Point p = (Point) obj;return this.x == p.x&&this.y == p.y;}else{return false;}}public int hashCode() {final int prime = 31;int result = 1;result = prime * result + x;result = prime * result + y;return result;}
- HashSet
- Hashset
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- HashSet
- hashset
- HashSet
- strToInt和intToStr的自我定义
- STL总体说明
- HasnMap
- USACO Stringsobits 解题报告
- Python的一些学习笔记
- HashSet
- LINUX下C语言连接mysql
- STL之pair对组
- Qt Meta Object system 学习(一)
- JQGrid 里边Inline编辑时按 Esc 触发什么事件?【答案在这】
- linux进程管理学习笔记
- C++异常机制的实现方式和开销分析
- auto_ptr智能指针
- preg_replace