zoukankan      html  css  js  c++  java
  • 4.29Java Set接口

    4.29Java Set接口

    Set接口的特点

    • Set接口继承了Collection接口---有Collection当中的所有方法,没有新增的方法

    • 没有顺序、不可重复--->核心要点

    • Set当中没有索引,只能遍历查找数据

    • 不允许加入重复的元素,新元素如果和Set中某个元素通过equals方法对比为true,则不可加入

    • Set中只能放入一个null元素,不能多个

    • HashSet和TreeSet使用较多

    HashSet的底层源码

    特点:

    • HashSet采用哈希算法实现,底层是用HashMap实现

    • 查询效率和增删效率都比较高

    public class HashSet<E> implements Set<E>,Cloneable,java.io.Serializable{
       
       private transient HashMap<E,Object>map;
       
       private static final Object PRESENT = new Obejct();
       
       public HashSet(){
           map = new HashMap<E,Object>();
      }
       
       public boolean add(E e){
           return map.put(e,PRESENT) == null;
      }
    }

    实现排序的关键在于他的add方法当中返回值是刚加入的e元素,然后Value返回的源码里面定义的Object对象

    实际上add添加的都是key,HashSet是一个Map

     

    It's a lonely road!!!
  • 相关阅读:
    jQuery-1.样式篇---属性与样式
    jQuery-1.样式篇---选择器
    jQuery-1.样式篇
    随机数
    UIButton
    UILabel
    webView
    气泡聊天
    下拉和上拉刷新
    LimitDemo
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14723375.html
Copyright © 2011-2022 走看看