博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Set容器
阅读量:7023 次
发布时间:2019-06-28

本文共 1916 字,大约阅读时间需要 6 分钟。

特点:

  无序,不重复

HashSet和TreeSet

 

HashSet

HashSet扩展AbstractSet并且实现Set接口,底层使用HashSet

HashSet的内部操作的底层数据是HashMap,只是我们操作的是HashMap的key

区分可以采用重写equals()和hashCode()方法

package com.Set;import java.util.HashSet;public class HahSetDemo {  public static void main(String[] args) {    HashSet
data=new HashSet
(); //不允许重复,实际操作的是hashmap里面的键 键只允许唯一 data.add("张三"); data.add("李四"); data.add("王五"); System.out.println(data.add("张三")); System.out.println(data); //没有重复 对象都是new出来的 HashSet
data2=new HashSet
(); data2.add(new Student1("张三", 20)); data2.add(new Student1("李四", 30)); System.out.println(data2.add(new Student1("张三", 20)));}}class Student1{ private String name; private int age; public Student1(String name, int age) { this.name = name; this.age = 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; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Student1 other = (Student1) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; }; }

转载于:https://www.cnblogs.com/tanlei-sxs/p/9991450.html

你可能感兴趣的文章
ConcurrentAsyncQueue 2012-02-23
查看>>
Android中快捷方式的创建和删除(ShortCut)
查看>>
IOS开发问题汇总
查看>>
修复VS 2010的Help Library管理器
查看>>
pgpool-II 的health_check_period 和 health_check_timeout
查看>>
iphone:使用NSFileManager取得目录下所有文件(遍历所有文件)
查看>>
ADPlus
查看>>
小智慧41
查看>>
巧用test判断来写shell脚本
查看>>
[置顶] 最小生成树Prim算法
查看>>
类装载器
查看>>
考勤处理脚本
查看>>
C++设计模式--观察员
查看>>
再造 “手机QQ” 侧滑菜单(二)——高仿左视图
查看>>
05.GitHub实战系列~5.发布版本之分支操作+Tag讲解 2015-12-14
查看>>
Leetcode: Basic Calculator II
查看>>
加壳学习笔记(一)-基础知识
查看>>
三、K3 WISE 开发插件《K3 WISE开发手册》
查看>>
Git与TortoiseGit基本操作
查看>>
他们都没告诉你适配 Android N 需要注意什么
查看>>