
Java集合相关内容
Java集合相关内容
zzd2018
笔记、总结与感悟
展开
-
Collections工具类
Collections 是一个操作 Set、List 和 Map 等集合的工具类。其实普通的数组类型也有对应的工具类,就是Arrays。Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作, 还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。均为static方法。排序操作:reverse(List):反转 List 中元素的顺序 shu...原创 2020-04-24 14:09:03 · 168 阅读 · 0 评论 -
Hashtable与Properties
Hashtable类:Hashtable是个古老的 Map 实现类,JDK1.0就提供了。不同于HashMap, Hashtable是线程安全的。 Hashtable实现原理和HashMap相同,功能相同。底层都使用哈希表结构,查询 速度快,很多情况下可以互用。 与HashMap不同,Hashtable 不允许使用 null 作为 key 和 value。 与HashMap一样,H...原创 2020-04-24 14:01:13 · 289 阅读 · 0 评论 -
TreeMap解析
TreeMap的大部分内容与TreeSet相似,因为TreeSet就是用TreeMap实现的。不同的只是在于TreeSet提供Set接口,而TreeMap提供了Map接口。TreeMap存储 Key-Value 对时,需要根据 key-value 对进行排序。 TreeMap 可以保证所有的 Key-Value 对处于有序状态。 TreeSet底层使用红黑树结构存储数据。 TreeMap...原创 2020-04-24 13:56:56 · 164 阅读 · 0 评论 -
LinkedHashMap解析
LinkedHashMap比较简单,因为大部分内容与HashMap相同。LinkedHashMap 是 HashMap 的子类。 在HashMap存储结构的基础上,使用了一对双向链表来记录添加元素的顺序。 与LinkedHashSet类似,LinkedHashMap 可以维护 Map 的迭代 顺序:迭代顺序与 Key-Value 对的插入顺序一致。 HashMap中的内部类:Node...原创 2020-04-24 13:48:22 · 128 阅读 · 0 评论 -
HashMap源码解析
首先说一下,提醒一下日后复习的自己:这篇笔记只是粗略的用文字描述了一下HashMap的大概实现,透彻的理解还是要通过仔细阅读JDK源码来得到!!!记得去读源码。Map的实现类的结构: |----Map:双列数据,存储key-value对的数据 ---类似于高中的函数:y = f(x) |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存...原创 2020-04-24 13:39:53 · 155 阅读 · 0 评论 -
TreeSet解析
TreeSet 是 SortedSet 接口的实现类,TreeSet 可以确保集合元素处于排序状态。TreeSet底层使用红黑树结构存储数据。两种排序方式:自然排序(实现Comparable接口) 和 定制排序(实现Comparator接口的外部比较器)自然排序自然排序:TreeSet 会调用集合元素的 compareTo(Object obj) 方法来比较元 素之间的大小关系,然...原创 2020-04-21 20:48:45 · 413 阅读 · 0 评论 -
HashSet、LinkedHashSet解析
Set接口:存储无序的、不可重复的数据HashSet:作为Set接口的主要实现类;线程不安全的;可以存储null值。LinkedHashSet:作为HashSet的子类;遍历其内部数据时,可以按照添加的顺序遍历。对于频繁的遍历操作,LinkedHashSet效率高于HashSet。Set接口中没有额外定义新的方法,使用的都是Collection中声明过的方法。要求:向Set(主要指:...原创 2020-04-21 20:12:47 · 699 阅读 · 1 评论 -
LinkedList的源码分析
LinkedList list = new LinkedList(); 内部声明了Node类型的first和last属性,默认值为null。Node类是LinkedList的一个内部类。 list.add(123);//将123封装到Node中,创建了Node对象。 其中,Node定义为:体现了LinkedList是双向链表的说法。 private sta...原创 2020-04-21 14:05:18 · 104 阅读 · 0 评论 -
ArrayList源码分析
ArrayList的源码分析:jdk 7情况下: ArrayList list = new ArrayList();//底层创建了长度是10的Object[]数组elementData list.add(123);//elementData[0] = new Integer(123); ... list.add(11);//如...原创 2020-04-20 21:42:01 · 112 阅读 · 0 评论 -
Java集合的接口体系
注意,其实有Iterable接口,Collection接口继承了这个接口,表明支持迭代器模式。Map接口没有继承Iterable接口。原创 2020-04-20 21:37:56 · 180 阅读 · 0 评论