- 浏览: 6311615 次
- 性别:
- 来自: 一片神奇的土地
文章分类
- 全部博客 (745)
- JQuery (25)
- JS (33)
- 数据库 (59)
- Java基础 (56)
- JSON (8)
- XML (8)
- ireport (7)
- 设计模式 (10)
- 心情 (14)
- freemarker (1)
- 问题 (15)
- powerdesigner (2)
- CSS (15)
- DWR (4)
- tomcat (16)
- Hibernate (12)
- Oracle (7)
- Struts (7)
- Spring (34)
- JSP (23)
- 需学习 (64)
- 工具类库 (63)
- Maven (14)
- 笔试题 (34)
- 源码学习 (31)
- 多线程 (39)
- Android (32)
- 缓存 (20)
- SpringMVC (14)
- jQueryEasyUi (12)
- webservice-RPC (13)
- ant (1)
- ASP.NET (10)
- 正则表达式 (3)
- Linux (15)
- JBoss (1)
- EJB (3)
- UML (2)
- JMS (3)
- Flex (8)
- JSTL (2)
- 批处理 (5)
- JVM (16)
- 【工具】 (16)
- 数据结构 (29)
- HTTP/TCP/Socket (18)
- 微信 (1)
- tomcat源码学习 (15)
- Python (30)
- 主机 (2)
- 设计与架构 (19)
- thrift-RPC (2)
- nginx (6)
- 微信小程序 (0)
- 分布式+集群 (12)
- IO (1)
- 消息队列 (4)
- 存储过程 (8)
- redis (9)
- zookeeper (5)
- 海量数据 (5)
最新评论
-
360pluse:
技术更新,战术升级!Python爬虫案例实战从零开始一站通网盘 ...
Python爬虫实战:Scrapy豆瓣电影爬取 -
18335864773:
推荐用 pageoffice 组件生成 word 文件。
JAVA生成WORD工具类 -
jjhe369:
LISTD_ONE 写道起始地址为163.135.0.1 结束 ...
IP地址与CIDR -
baojunhu99:
private final int POOL_SIZE = 5 ...
使用CompletionService获取多线程返回值 -
LovingBaby:
胡说,javascript 运行时是单线程的,event lo ...
Ajax请求是否可以实现同步
Set 是不包含重复元素的集合。可以更加正式地表达为,在 set 里面的元素 e1,e2, 不允许 e1.equals(e2), 而且最多有一个 null 元素。
Set 的主要方法如下,可以看出 List 和 Set 在方法上的区别了, List 能够根据类似于 index ,来找到元素的方法,而 set 只管往集合里面放东西,并不管其插入的顺序, List 有比较严格的插入顺序。
HashSet 的基本数据结构是 HashMap , HashMap 的基本数据结构是哈希表和链表,在构造函数上可以参见HashMap 的工作原理,和 HashMap 一样,影响性能的因素包括: set 的初始化容量大小,容量因子,和HashCode 的构造.
Set不包含重复元素,而HashMap的Key也不可重复,故其可使用HashMap实现。
成员变量:
private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the backing Map private static final Object PRESENT = new Object();
构造函数:
public HashSet() { map = new HashMap<E,Object>(); } /** * Constructs a new, empty set; the backing <tt>HashMap</tt> instance has * the specified initial capacity and the specified load factor. * * @param initialCapacity the initial capacity of the hash map * @param loadFactor the load factor of the hash map * @throws IllegalArgumentException if the initial capacity is less * than zero, or if the load factor is nonpositive */ public HashSet(int initialCapacity, float loadFactor) { map = new HashMap<E,Object>(initialCapacity, loadFactor); } public HashSet(int initialCapacity) { map = new HashMap<E,Object>(initialCapacity); }
主要方法:
public boolean add(E e) { return map.put(e, PRESENT)==null; } public boolean remove(Object o) { return map.remove(o)==PRESENT; } public void clear() { map.clear(); } public boolean contains(Object o) { return map.containsKey(o); } /** * Returns an iterator over the elements in this set. The elements * are returned in no particular order. * * @return an Iterator over the elements in this set * @see ConcurrentModificationException */ public Iterator<E> iterator() { return map.keySet().iterator(); }
更详细可参考:http://zhangshixi.iteye.com/blog/673143
发表评论
-
【tomcat系统架构(二)】
2018-08-16 16:22 783四图带你了解Tomcat系统架构——让面试官颤抖Tomca ... -
CDO框架架构
2017-03-13 10:46 2631架构: 1、监听器WebApplicationListen ... -
由文件名读取文件内容Utility
2017-03-13 10:39 693//将servicebus.xml内容解析为字符串 // ... -
StandardService分析-tomcat6.x源码阅读
2016-12-02 10:53 1372来源:https://my.oschina.net/dou ... -
StandardServer分析-tomcat6.x源码阅读
2016-11-30 17:37 1463来源:https://my.oschina.net/do ... -
Lifecycle-Tomcat生命周期
2016-11-24 14:19 48521 概述 Catalina包括很多组件,当catali ... -
ClassLoaderTest
2016-11-23 17:35 1099JVM类加载机制1 JVM类加载机制2 JRE下的rt ... -
Digester解析XML文件
2016-11-23 16:50 5048TOMCAT底层解析server.xml ... -
StringTokenizer-大数据情况下截取字符串
2016-11-23 11:00 3075java.util.StringTokenizer ... -
tomcat中处理消息提示的公用类 StringManager.java
2016-11-18 10:24 1757代码很简单,主要学习思路。 tomcat中处理消息 ... -
JAVA IO流中的flush
2016-11-18 09:51 3159前言: 大家在使用Java IO流中Output ... -
(一)Http请求、Http响应、 Socket
2015-03-04 16:49 22837第一章:一个简单的Web服务器 本章说明java ... -
tomcat总结
2015-03-02 18:18 1766百度文库:《how-tomcat-works中文版》 H ... -
集合类总结
2014-09-17 10:44 1669Collection ├List │ ... -
IOUtils
2014-08-21 14:52 11735org.apache.commons.io.IOUtils ... -
DispatcherServlet
2014-08-13 11:24 24837DispatcherServlet初始化顺 ... -
AutowiredAnnotationBeanPostProcessor
2014-07-24 16:32 17310AutowiredAnnotationBeanPostPr ... -
ArrayDeque类
2014-07-24 11:14 3966另:Java多线程(6)之Deque与LinkedBloc ... -
队列Queue、双端队列Deque
2014-07-23 17:49 33425注意:这都只是接口 ... -
spring注解
2014-07-23 16:31 1550Spring对注解(Annotation)处理源码分析1— ...
相关推荐
对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码:
HashSet的实现原理 ,HashSet与HashMap的区别 以及 HashSet的底层实现方式
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
hashSet底层去重原理
HashSet 是一个没有重复元素的集合。 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。 HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它...
Set是java中一个不包含重复元素的collection。更正式地说,set 不包含满足e1....HashSet与TreeSet都是基于Set接口的实现类。其中TreeSet是Set的子接口SortedSet的实现类。Set接口及其子接口、实现类的结构如下所示。
这个是关于java语言的hashset集合类的一些基本用法和详解了个方法的使用
treemap treeset hashset hashmap 简要介绍
20220424-笔记-HashSet扩容机制
Java基础加强_ArrayList_HashSet的比较及Hashcode分析
简述了HashSet去重原理
c++一个用vector实现java的HashSet集合类,可以将任何类,数字,字符串,vector等等存放到里面
自己写的例子,关于HashSet遍历和HashMap遍历的. 感谢大家参考
HashSet 是 Java 中的一个集合类,它实现了 Set 接口并提供了基于哈希表的无序、不重复元素的集合。具体来说,它是通过哈希表(实际上是一个 HashMap 实例)来存储元素的。 以下是 HashSet 的一些主要特点: 无序...
源码解析jdk7.0集合:HashSet的底层实现原理.pdf
HashTable不支持空键值对! 而HashMap支持空键值对!
HashSetHashSetHashSetHashSetHashSetHashSetHashSetHashSetHashSet
随机数,HsahSet,排序,输出.随机数,HsahSet,排序,输出.
Qt4.8.5 Bug Patch File
已设置JavaScript中的简单哈希集创建一个新的HashSet var HashSet = require ( 'hashset' ) ;//Create an empty hash setvar hashset = new HashSet ( ) ;//Create a hash set an initialize it with a value 'a'var...