E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JAVA容器
【
Java容器
源码系列】HashMap最详细万字源码分析(JDK8)
从HashMap的类注释中,我们可以得到如下信息:允许null值,不同于HashTable,是线程不安全的;loadfactor(负载因子)默认值是0.75,是均衡了时间和空间损耗算出来的值,较高的值会减少空间开销(扩容减少,数组大小增长速度变慢),但增加了查找成本(hash冲突增加,链表长度变长),不扩容的条件:数组容量>需要的数组大小/loadfactor;如果有很多数据需要储存到HashMa
Aminor
·
2020-09-23 19:07
Java容器
面试题——查缺补漏
目录18.
Java容器
都有哪些?19.Collection和Collections有什么区别?20.ListSetMap之间的区别是什么?21.HashMap和Hashtable有什么区别?
only···
·
2020-09-17 10:00
重温JAVA
java
Object 的 equal() 、hashCode()方法说起
之前对这两个方法感觉很平常,不知道有啥作用,在复习
java容器
类的时候我知道其奥秘了。HashSet、HashMap如何判断集合元素和map中的key不重复?
sjh_389510506
·
2020-09-17 07:27
equal
hashCode
java
equal
hashCode
有备而来——
Java容器
面试题总结
前言主要是在javaGuide以及CYC2018的基础上做了修改以及补充。其它参考资料都在文末给出,建议阅读。⭐️内容较多,点赞收藏不迷路⭐️i++和++ii++是先使用,后自增。++i是先自增,后使用。自增与使用两个操作不是原子性的,所以在多并发环境下会出现问题,比如值覆盖。说说List,Set,Map三者的区别?List和Set都是继承自Collection。List可以有多个元素引用相同的对
以后再换个名字
·
2020-09-17 02:38
Java基础
java容器
之Set常用方法
Set不包含相同的元素,有HashSet(散列,查找速度最快),TreeSet(按升序排列),LinkedHashSet(按输入顺序)下面是常用的方法:importjava.util.*;publicclassSetOperations{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub
u010660276
·
2020-09-16 21:36
java
java容器
--List集合中的体系结构分析(一)
Collection|--List:元素之间有序,且可以重复。|--ArrayList:使用数组存储的数据结构。增删慢,查询快。注意:此实现不是同步的|--LinkedList:使用链表存储的数据结构。增删快,查询慢。|--Vector:使用数组存储的数据结构。是同步到,访问速度较慢,被ArrayList所替代。|--Set:元素之间无序,不可以重复。List集合提供的方法增add(index,e
阿卧
·
2020-09-16 12:43
java基础
java基础
Tomcat详解以及安装使用
Tomcat:
JAVA容器
,WE
yjssjm
·
2020-09-16 11:24
笔记
linux
运维
tomcat
jdk
Java容器
的两种排序java.lang.Comparable + compareTo()和java.util.Comparator + compare()
java.util.Comparator和compare方法这个主要是提供额外的业务排序类,然后对某个实体类进行排序,总的来说就是实现Comparator接口,重写compare方法,看程序样例:importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;/***提供额外的业务排序类*按价格排序*Goods类
zxzxin
·
2020-09-15 21:36
Java容器
Java容器
--接口概述
言兼原创,欢迎转载,转载请注明出处:http://blog.csdn.net/chengqianyun2002InterfaceCollectionCollection是Collection体系中最上层的rootinterface,它代表一组对象集合。JDK并没有直接在CollectionInterface中规定具体的方法实现,而是将具体的方法实现在其子interface中规定,如Set,Li
chengqianyun2002
·
2020-09-15 19:40
Java世界
Java后端开发知识点总结 2019(涉及前沿:微服务)
一、java基础1、基本类型——》内存分配——》虚拟机(GC机制)2、java特性——》关键字——》
java容器
(散列表)——》底层3、多线程——》锁——》底层——》实际场景多线程问题4、设计模式(单例
摸金青年v
·
2020-09-15 07:40
Java
java面试
java知识点
java学习路线
后端工程师
对于容器中迭代器iterator的理解
Iterator是
JAVA容器
中重要的一个方法,可以实现容器中的遍历。
L1nZHongHUI
·
2020-09-15 03:43
java基础
java容器
接口ListIterator源码分析
目录简介查询操作(与next,prev相关的6个方法)修改操作(add,set,remove)简介/***一个对于列表的迭代器,允许编程者无论以哪个方向遍历列表,在迭代中修改列表,获取迭代器在列表中的实时位置。*一个ListIterator总是处于一个由previous()返回的元素和next()返回的元素中间。*一个对于长度为n的列表,迭代器有n+1个可能的游标位置,以下面的^符号说明:***E
xushiyu1996818
·
2020-09-14 17:34
java容器
源码分析
java容器
抽象类AbstractCollection源码分析
目录简介构造器抽象方法size和iterator查询操作修改操作批处理toString简介/***这个类提供了Collection的一个骨骼似的实现,来最小化实现这个接口需要的工作。**为了实现一个不可更改的collection,编程者仅仅需要扩展这个类,并提供iteratro和size方法的实现。*(iterator方法返回的iterator必须实现hasNext和next方法)**为了实现一个
xushiyu1996818
·
2020-09-14 17:34
java容器
源码分析
java容器
接口Collection源码分析
目录简介查询操作sizeisEmptycontainsiteratortoArray修改操作addremove批量操作containsAlladdAllremoveAllremoveIfretainAllclear比较和计算哈希equalshashCode流操作和分割器spliteratorstreamparallelStream简介这个接口是java中集合层次的顶部接口/***collectio
xushiyu1996818
·
2020-09-14 17:33
源码分析
java容器
java容器
接口RandomAccess源码分析
/***List的实现类使用的标记接口,表示支持快速的随机访问(通常在常数时间内)。*接口的主要目的是允许通用的算法在应用于随机或者顺序访问列表时,改变它们的行为,来提供更好的性能**操作随机访问列表(例如ArrayList)的最佳算法在应用于顺序访问列表(例如LinkedList)时会产生二次行为。*常用的列表算法被鼓励检查给定的数组是否instanceof这个接口,再应用于这个算法,*如果将这
xushiyu1996818
·
2020-09-14 17:02
java容器
源码分析
java容器
类HashMap源码分析
目录简介常量默认初始容量,最大容量,默认负载因子,树化/反树化界限,最小树化容量节点类Node静态的工具方法hash(重要),comparableClassFor,compareComparables,tableSizeFor(较重要)字段table,entrySet,size,modCount,threshold,loadFactor构造函数4个(重要)查询方法size,isEmpty,get,
xushiyu1996818
·
2020-09-14 17:01
源码分析
java容器
java容器
类TreeMap源码分析
目录简介字段comparator,root,size,modCountEntry类构造器4个查询方法size,containsKey,containsValue,get,comparator,firstKey,lastKey查询的辅助方法8个getXXXEntry和getEntryXXX,successor,predecessorput方法简介/***一个基于红黑树的NavigableMap实现。
xushiyu1996818
·
2020-09-14 17:01
源码分析
java容器
java容器
类HashTable源码分析
目录简介getput,addEntry,rehashremove简介/***这个类实现了一个散列表,它将键映射到值。任何非空对象都可以用作键或值。*注意:是非空对象可以作为key和value。hashmap是所有对象,包括null,可以作为key和value。**要成功地从哈希表存储和检索对象,用作键的对象必须实现hashCode方法和equals方法。**Hashtable实例有两个影响其性能的
xushiyu1996818
·
2020-09-14 17:30
源码分析
java容器
java容器
接口SortedMap源码分析
目录简介comparatorsubMap,headMap,tailMapfirstKey,lastKeykeySet,values,entrySet简介/***进一步提供其键的总排序的映射。*映射是根据其键的自然顺序排序的,或者由一个比较器(通常在已排序的映射创建时提供)来排序的。*这种顺序反映在遍历已排序映射的集合视图(由entrySet、keySet和values方法返回)时。*还提供了几个额
xushiyu1996818
·
2020-09-14 17:30
源码分析
java容器
java容器
接口NavigableSet源码分析
目录简介lower,floor,ceiling,higher,pollFirst,pollLastiterator,descendingSet,descendingIteratorsubSet,tailSet,headSet,各2个简介/***SortedSet扩展了navigation方法,报告给定搜索目标的最接近匹配。*方法分别返回小于、小于或等于、大于或等于和大于给定元素的低、下限、上限和高
xushiyu1996818
·
2020-09-14 17:30
源码分析
java容器
java容器
接口SortedSet源码分析
目录简介comparator,subSet,headSet,tailSetfirst,last,spliterator简介/***进一步提供其元素的总排序的集合。*元素使用它们的自然顺序排序,或者使用通常在创建已排序集时提供的比较器进行排序。*集合的迭代器将按升序元素顺序遍历集合。*还提供了几个额外的操作来利用排序。(此接口是SortedMap的模拟set。)**插入到排序集中的所有元素必须实现C
xushiyu1996818
·
2020-09-14 17:30
源码分析
java容器
java容器
接口NavigableMap源码分析
目录简介lowerXXX,floorXXX,ceilingXXX,higherXXX,总共8个firstEntry,lastEntry,pollFirstEntry,pollLastEntrydescendingMap,navigableKeySet,descendingKeySetsubMap,tailMap,headMap,每个2个简介/***一个SortedMap扩展了navigation方
xushiyu1996818
·
2020-09-14 17:30
java容器
源码分析
java容器
接口Enumeration源码分析
目录简介hasMoreElements,nextElement简介/***实现Enumeration接口的对象每次生成一个元素。对nextElement方法的连续调用将返回该系列的连续元素。**例如,要打印一个Vectorv的所有元素:***for(Enumeration<E>e=v.elements();e.hasMoreElements();)*System.out.println
xushiyu1996818
·
2020-09-14 17:29
源码分析
java容器
java容器
类LinkedList源码分析
目录简介内部类Node字段size,first,last构造器无参,Collection内部方法增加节点linkFirst,linkLast,linkBefore删除节点unlinkFirst,unlinkLast,unlink查找node,checkXXXIndex,isXXXIndexQueue的方法remove,element,offer,poll,peekDeque方法getXXX,rem
xushiyu1996818
·
2020-09-14 17:29
java容器
源码分析
java容器
类LinkedHashMap源码分析
目录简介节点类Entry字段head,tail,accessOrder内部工具方法linkNodeLast,transferLinks覆盖HashMap的方法reinitialize,newNode2个,replacement2个afterNodeXXX3个,internalWriteEntries,removeEldestEntry构造函数5个containsKey,get两个,clearLIn
xushiyu1996818
·
2020-09-14 17:29
源码分析
java容器
java容器
抽象类AbstractMap源码分析
目录简介查询size,isEmpty,containsKey,containsValue增删改查get,put,remove批量操作putAll,clear两个字段keySet,valueskeySet,values方法的内部类通用方法equals,hashCode,toString,clone,eq内部类SimpleEntry内部类SimpleImmutableEntry简介/***这个类提供了
xushiyu1996818
·
2020-09-14 17:29
java容器
源码分析
java容器
抽象类AbstractSet源码分析
目录简介构造器方法equals,hashCode,removeAll简介/***这个类提供了Set接口的骨架实现,来最小化实现这个接口的努力。**通过继承这个类的过程来实现set,与继承AbstractCollection来实现Collection的过程一样,*除了所有的方法和构造器必须遵守Set接口的额外规定。(例如add方法必须不允许重复地加入相同的对象到set)**注意:这个类没有覆盖Abs
xushiyu1996818
·
2020-09-14 17:29
java容器
源码分析
java容器
接口Map源码分析
目录简介查询size,isEmpty,containsKey,containsValue对key的增删改查get,put,remove批量操作putAll,clearEntry接口简介对key和value的操作getKey,setValue,getValueequals,hashcode返回comparatorcomparingByKey两个,comparingByValue视图keySet,va
xushiyu1996818
·
2020-09-14 17:29
java容器
源码分析
java容器
抽象类Dictionary源码分析
简介/***Dictionary类是Hashtable,它将键映射到值。*每个键和值都是一个对象。在任何一个Dictionary对象中,每个键最多与一个值关联。*给定一个字典和一个键,就可以查找相关的元素。任何非空对象都可以用作键和值。***作为一个规则,这个类的实现应该使用equals方法来确定两个键是否相同。**注意:这个类已经过时了。新的实现应该实现Map接口,而不是扩展这个类。**@aut
xushiyu1996818
·
2020-09-14 17:29
java容器
源码分析
java容器
接口Deque源码分析
目录简介双端队列的方法插入addFirst,addLast,offerFirst,offerLast删除removeFirst,removeLast,pollFirst,pollLast返回getFirst,getLast,peekFirst,peekLast删除内部元素removeFirstOccurrence,removeLastOccurrence队列的方法插入add,offer删除remo
xushiyu1996818
·
2020-09-14 17:28
java容器
源码分析
java容器
类ArrayList源码分析
目录简介字段capacity默认值,默认空数组,elementData数组,大小size构造函数3个,无参,int,collection对数组大小的控制trimToSize,ensureXXX(3个),grow,hugeCapacity创建ArrayList和扩展内部数组总结查询操作size,isEmpty,contains,indexOf,lastIndexOf克隆及生成数组clone,toAr
xushiyu1996818
·
2020-09-14 17:28
java容器
源码分析
java容器
接口Set源码分析
目录简介查询操作size,isEmpty,contains返回元素Iterator,toArray两个修改add,remove批量操作containsAll,addAll,removeAll,retainAll,clear其余equals,hashCode,spliterator简介/***一个包含不重复元素的集合。*更正式地说,set不包含这样的元素对,e1和e2,e1.equals(e2),并
xushiyu1996818
·
2020-09-14 16:58
java容器
源码分析
java容器
抽象类AbstractSequentialList源码分析
目录简介构造器基于下标的方法get,set,add,remove块操作addAll(int,Collection)迭代器Iterator和ListIterator简介/***这个类提供了List接口的骨架似的实现,来最小化实现基于顺序访问元素(例如链表)的努力。*对于随机访问元素(例如一个数组),应该优先使用abstractList。**这个类与AbstractList相反,它实现了随机访问的方法
xushiyu1996818
·
2020-09-14 16:58
源码分析
java容器
java容器
抽象类AbstractList源码分析
目录简介构造器基于index的方法-两个add,get,remove,set查找元素-indexOf,lastIndexOf块操作-addAll,clear辅助操作-removeRange,rangeCheckForAdd,outOfBoundsMsg字段-modCount比较和哈希-equals,hashCode迭代器-Iterator,ListIterator,对应的两个内部类Itr,List
xushiyu1996818
·
2020-09-14 16:58
源码分析
java容器
java容器
接口Queue源码分析
目录简介插入add,offer删除头部元素remove,poll返回头部元素elementpeek简介/***用于在处理元素前保存元素的集合。*除了基本的Collection类的操作,queue提供了额外的插入,抽取和检查的操作。*它们的每个方法存在两个形式:如果操作失败,抛出异常。另个一个返回特殊值(null或者false,取决于操作)。*后一种形式的插入操作专门用于容量受限的Queue实现。*
xushiyu1996818
·
2020-09-14 16:58
java容器
源码分析
CS技术体系
:55categories:书单tags:top:文章目录1.CS基础操作系统理论,Linux内核计算机网络TCP/IP,Http,SSL数据结构与算法理论设计模式编程范式2.JavaSEJava基础
Java
h2linlin
·
2020-09-14 16:36
书单
java容器
:17、怎么确保一个集合不能被修改?
怎么确保一个集合不能被修改?目前查到有两种方法:(1)通过Collections.unmodifiableCollection(Collectionc)(2)通过Arrays.asList创建的集合代码如下:(原因分析以后再分析)(1)通过Collections.unmodifiableCollection(Collectionc)Listlist=newArrayList();list.add(
JAVA小摩托不堵车
·
2020-09-14 16:38
面试:容器
java
数据结构
java容器
:8、ArrayList和LinkedList的区别是什么?
超详细分析请见以下链接:
java容器
——List接口(代码模拟ArrayList和LinkedList类的底层实现)
JAVA小摩托不堵车
·
2020-09-14 16:06
面试:容器
java
面试
Java容器
系列——(一)概览以及容器中使用的设计模式
(一)、概览容器主要分为Collection和Map两种,Collection主要用于存储对象的集合,而Map主要存储着键值对的映射表-Collection1.SetTreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如HashSet,HashSet查找的时间复杂度为O(1),TreeSet则为O(logN)。HashSet:基于哈希表实现,支持快速查找,
XHHP
·
2020-09-14 16:10
Java基础
Java容器
源码(四)——LinkedList源码分析(基于JDK8)
文章目录(一)、概述(二)、重要的内部类(三)、类名(四)、属性(五)、构造方法(六)、add()方法(七)、remove()方法(八)、get()方法和peek()方法(九)、其他方法更多
Java容器
源码分析可以参考
XHHP
·
2020-09-14 16:09
Java基础
Java容器
源码(五)——HashMap源码分析(基于JDK8)
tableSizeFor方法(七)、hash方法(八)、putMapEntries方法以及putVal方法(九)、resize方法(十)、remove方法(十一)、clear方法(十二)、containsValue方法更多
Java
XHHP
·
2020-09-14 16:09
Java基础
HashMap
HashMap源码分析
源码分析
JDK8
Java容器
Java容器
源码面试知识点汇总(超详细!)
Java容器
源码(一)——ArrayList源码分析(基于JDK8)
Java容器
源码(二)——Vector源码分析(基于JDK8)
Java容器
源码(三)——CopyOnWriteArrayList源码分析
XHHP
·
2020-09-14 16:38
Java基础
Java容器
源码(七)——HashTable源码分析(基于JDK8)
文章目录(一)、概述(二)、类名(三)、成员变量(四)、构造方法(四)、rehash方法(五)、addEntry方法(六)、put方法(七)、remove方法更多
Java容器
源码分析可以参考:
Java容器
源码分析系列
XHHP
·
2020-09-14 16:37
Java基础
Java容器
源码(二)——Vector源码分析(基于JDK8)
文章目录(一)、Vector概述(二)、Vector源码解析(三)、ArrayList与Vector更多
Java容器
源码分析可以参考:
Java容器
源码分析系列(持续更新中!)
XHHP
·
2020-09-14 16:37
Java基础
Java容器源码
Vector源码分析
Java容器
源码(六)——HashSet源码分析(基于JDK8)
文章目录(一)、概述(二)、类名(三)、成员变量(四)、构造方法(五)、add方法(六)、remove方法(七)、hashCode()与equals()更多
Java容器
源码分析可以参考:
Java容器
源码分析系列
XHHP
·
2020-09-14 16:37
Java基础
Java容器
源码(三)——CopyOnWriteArrayList源码分析(基于JDK8)
文章目录(一)、概述(二)、适用场景(二)、类名(三)、成员变量(四)、构造方法(五)、set方法(六)、add方法(七)、remove方法(八)、addIfAbsent方法更多
Java容器
源码分析可以参考
XHHP
·
2020-09-14 16:37
Java基础
Java知识点总结(
Java容器
-HashSet)
Java知识点总结(
Java容器
-HashSet)@(Java知识点总结)[Java,
Java容器
,JavaCollection,JavaSet]HashSet特点HashSet按Hash算法来存取查找集合中的元素
weixin_33772645
·
2020-09-14 16:11
java容器
源码分析(一)——开篇
先来复习下
java容器
方面的。
weixin_33693070
·
2020-09-14 16:05
Java容器
——Set接口
1.定义set中不允许放入重复的元素(元素相同时只取一个)。它使用equals()方法进行比较,如果返回true,两个对象的HashCode值也应该相等。2.方法TreeSet中常用的方法:booleanadd(Ee):添加一个元素,如果set中不存在该元素booleanaddAll(Collectionc):向set添加集合Eceiling(Ee):返回大于等于给定元素的最小元素,没有返回nul
weixin_30545285
·
2020-09-14 16:09
Java容器
Set接口
Set接口的实现,可以方便地将指定的类型以集合类型保存在一个变量中。Set是一个不包含重复元素的Collection,更确切地讲,Set不包含满足e1.equals(e2)的元素对,并且最多包含一个null元素。Set接口的底层存储实现都是依赖Map的实现,也可以说Set中元素的管理就是对Map中key的管理。下面简单描述一下各种Set接口的实现类,主要包括HashSet,LinkedHashSe
weixin_30412577
·
2020-09-14 16:33
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他