实现List接口的类包括ArrayList、LinkedList、Vector、Stack等。
Posted by Wei on 2019-03-15, Last Modified on 2023-02-28
如果你想在使用Iterator(迭代器)进行遍历的过程中,移除List中的某个元素,只能调用iterator.remove方法,而不能调用list.remove()方法,否则一定会抛出并发修改异常(java.util.ConcurrentModificationException)。
HashSet类实现了Set接口,底层由HashMap来实现(后面进行分析),为哈希表结构,新增元素相当于HashMap的key,value默认为一个固定的Object。在我看来,HashSet相当于一个阉割版的HashMap。
队列(Queue)是计算机中的一种数据结构,保存在其中的数据具有“先进先出(FIFO,First In First Out)”的特性。
从名字上可以看出,此集合的实现和树结构有关。
与HashSet集合类似,TreeSet基于TreeMap来实现的,其底层结构为红黑树(特殊的二叉查找树,即在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black)。
由于HashMap不是线程安全的,因此在并发环境下可能会发生死锁问题,且导致CPU占用率接近100%。
Posted by Wei on 2019-03-14, Last Modified on 2025-08-11
HashMap类实现了 Map<K,V>接口,同时继承了抽象类 AbstractMap<E>。
Map<K,V>
HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。
Posted by Wei on 2019-03-14, Last Modified on 2023-02-28
集合框架有自己的接口和实现,主要分为Set接口,List接口,Map接口和Queue接口。
它们有各自的特点:
Posted by Wei on 2019-03-13, Last Modified on 2023-02-28
Java 中的数据类型,可分为两类:
基本数据类型,也称原始数据类型,比如 byte,short,char,int,long,float,double,boolean 。
复合数据类型(类)。
Posted by Wei on 2019-03-12, Last Modified on 2025-08-11
🐒 Software engineer | 📷 Photographer | 👹 Urban explorer