![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java笔记
文章平均质量分 87
桉树先生
没事多溜达,闲着也是闲着
展开
-
Java集合之WeakHashMap、IdentityHashMap、EnumMap介绍
WeakHashMapWeakHashMap与HashMap的用法基本类似。区别:HashMap的key保留了对实际对象的强引用,这意味着只要HashMap对象不被销毁,还HashMap的所有key所引用的对象就不会被垃圾回收,HashMap也不会自动删除这些key所对应的key-value对;WeakHashMap的key只保留对实际对象的弱引用,这意味着如果WeakHashMap对象的key原创 2016-09-27 17:49:58 · 2980 阅读 · 0 评论 -
Java集合之LinkedHashMap、TreeMap介绍
LinkedHashMapLinkedHashMap使用双向链表来维护key-value对的次序(只需要考虑key测次序),该链表负责维护Map的迭代顺序,迭代顺序与key-value对的插入顺序保持一致。LinkedHashMap可以避免对HashMap、Hashtable里的key-value对进行排序(只要插入key-value对时保持顺序即可),同时又可避免使用TreeMap所增加的成本。L原创 2016-09-27 17:46:17 · 665 阅读 · 0 评论 -
Java集合之Stack与Queue介绍
StackStack是Vector的子类,它用于模拟“棧”这种数据结构,“棧”通常是指“后进先出”(LIFO)的容器。最后“push”进棧的元素,将最先被“pop”出棧。进棧出棧的都是Object,因此从棧中取出元素后必须进行类型转换。Stack提供方法:Object peek() 返回棧的第一个元素,但并不将钙元素”pop”出棧。Object pop() 返回棧的第一个元素,并将该元素”p原创 2016-09-27 17:25:00 · 1115 阅读 · 0 评论 -
Java集合之List介绍
ListList集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。注意: List集合默认按元素的添加顺序设置元素索引,例如第一次添加元素索引为0,第二次添加索引为1…List是Collection的子接口,可以使用Collection接口里的全部方法。因为List是有序集合,所以它有一些根据索引来操作集合元素的方法。方法如下:void add(int index,Obje原创 2016-09-27 17:11:50 · 1260 阅读 · 0 评论 -
Java集合Set性能分析
Set性能分析HashSet 和 TreeSetHashSet性能要好于TreeSet(特别是最常用的添加、查询元素等操作)原因:因为TreeSet需要额外的红黑树算法维护集合元素的次序。只有需要一个保持排序的Set时,才应该使用TreeSet,否则都应该使用HashSet。HashSet 和 LinkedHashSetHashSet 还有一个子类:LinkedHashSet, 对于普通的插原创 2016-09-22 17:22:33 · 3025 阅读 · 0 评论 -
Java集合简介
Java为什么会有集合存在?在编程中,我们尝尝需要集中存放多个数据,比如:学校的学生花名册,考试成绩等等,类似情况。有人会会说:数组也可以呀!没错,但是数组有它的优点也有它的不足之处:1.我们在使用数组时,一旦为数组指定长度,那么这个数组的长度就会是不可变的,如果需要保存数量变化的数据,数组就显的无能为力了。 2.数组固然方便使用,但是数组没有办法保存映射关系的数据,比如:语文:89,数学:100原创 2016-09-19 17:34:11 · 891 阅读 · 1 评论 -
Java集合工具类Collections(二)
Colletions同步 Java中常用的集合框架中的实现类HashSet、TreeSet、ArrayList、ArrayDeque、LingkedList、HashMap和TreeMap都是线程不安全的。如果有多个线程访问它们。而且有超过一个的线程试图修改它们,则存在线程安全的问题。Collections类中提供了多个synchronizedXxxx()方法,该方法可以将指定集合包装成线程同步的原创 2016-09-23 16:00:12 · 508 阅读 · 0 评论 -
Java集合工具类Collections(一)
CollectionsJava提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供将集合对象设置为不可变、对集合对象实现同步控制等方法。排序操作:Collections提供对List集合元素进行排序的方法void reverse(List list) 反转指定list集合中元素顺序void shuff原创 2016-09-23 15:49:16 · 707 阅读 · 0 评论 -
Java集合之HashSet和LinkedHashSet
阅读这篇文章只需5-10分钟。HashSetHashSet 按Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能。Hash算法: (也被翻译成哈希、散列)算法,它能保证快速查找被检索的对象,hash算法的价值在于速度。 当需要查询集合中某个元素时,hash算法可以直接根据该元素的hashCode值计算出该元素的存储位置,从未快速定位该元素。为什不直接使用数组,还需要使用HashSet原创 2016-09-22 16:42:37 · 1121 阅读 · 0 评论 -
Java集合Collection与Iterator
CollectionCollection接口是List、Set和Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和Queue集合。Collection 中的方法,全部来自API,读者无需硬性记忆,只需牢记:集合类就像容器,显示生活中容器的功能,也就是添加对象、删除对象、清空容器、判断容器是否为空等,集合类就为这些功能提供了对应的方法。boolean add(E原创 2016-09-23 16:39:14 · 2737 阅读 · 1 评论 -
Java集合之Enumeration
EnumerationEnumeration 接口是Iterator迭代器的“古老版本”,从JDK 1.0开始,Enumeration接口就已经存在了(Iterator从JDK 1.2才出现)。Enumeration接口只有两个方法。boolean hasMoreElements() 如果此迭代器还有剩下的元素,则返回true Object nextElement() 返回该迭代器的下一个元素原创 2016-09-23 16:12:10 · 11411 阅读 · 1 评论 -
Java集合之TreeSet
TreeSet阅读这篇文章只需5-10分钟。原创 2016-09-22 16:58:37 · 5633 阅读 · 0 评论 -
Java集合之EnumSet
EnumSetEnumSet 是一个专为枚举设计的集合类,EnumSet中的所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式或隐式地指定。EnumSet的集合元素也是有序的,EnumSet以枚举值在Enum类内的定义顺序来决定集合元素的顺序。EnumSet在内部以位向量的形式存储,这种存储形式非常紧凑、高效,因此EnumSet对象占用内存很小,而且运行效率很好。尤其是进原创 2016-09-22 17:12:46 · 7673 阅读 · 4 评论 -
Java集合之Map
MapMap用于保存具有映射关系的数据,因此Map集合里保存这两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,key和value都是可以是任何引用类型的数据。注意: Map 的key不允许重复,因为同一个Map对象的任何两个对象key通过equals方法比较总是返回false。 key和value之间存在单向一对一关系,即通过指定key,总能找到唯一、确定的valu原创 2016-09-27 17:36:36 · 898 阅读 · 0 评论