16.3 HashSet的原理

来源:互联网 发布:淘宝客户抓取系统骗局 编辑:程序博客网 时间:2024/05/19 09:43
HashSet的原理
-----|Collection 单列集合的根接口
---------|List如果实现了List接口的集合类,具备的特点:有序,可重复
------------|ArrayList(常用) ArrayList底层是维护了一个Object数组实现的。特点:地址连续,查询速度快,增删慢
------------|LikeList
------------|Vector(了解即可)
---------|Set 如果实现了其接口的集合类,具备的特点:无序,不可重复
------------|HashSet :其存取速度都比较快的。
------------|TreeSet


Set接口下面的实现类(主要有:)HashSet、TreeSet


HashSet的原理:

一定要重写hashCode,equals


import java.util.HashSet;import java.util.Random;import java.util.Scanner;import javassist.bytecode.Descriptor.Iterator;class Person{String name;int id;Person(String name,int id){this.id = id;this.name = name;}@Overridepublic int hashCode() {//一定要重写// TODO Auto-generated method stubreturn this.id;}public String toString(){return id+" "+name;}@Overridepublic boolean equals(Object obj) {//一定要重写Person p = (Person)obj;return this.id==p.id;}} public class wu{  public static void main(String [] args){Scanner scanner = new Scanner(System.in);HashSet li = new HashSet();li.add(new Person("张三",11));li.add(new Person("丽水",12));li.add(new Person("张三",11));li.add(new Person("美丽",14));System.out.print(li); }}


0 0
原创粉丝点击