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!!!
  • 相关阅读:
    设置Tomcat根目录
    使用Servlet Filter做Login checking
    Javac命令一次编译一个目录下的所有java文件
    Java ArrayList操作
    Java 读Properties
    Java文件读写
    Servlet Listener
    Servlet连接数据库
    Servlet Filter 3
    Servlet Filter 2
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14723375.html
Copyright © 2011-2022 走看看