Java常用类(HashMap)
今天给小伙伴们介绍HashMap类,HashMap是Java专门用于处理字典的类,和C++中的map,或者Python中的dict相同。其特点是双列集合,一个元素包含两个值,一个称为key,一个称为value,key的底层是哈希表,不允许存储重复元素,无序,无法索引,因此无法使用普通的for循环,通常的使用场景是根据key得到value对应的值。在Java中也内置了许多常用的算法,在刷题时常常使用它。
今天给小伙伴们介绍HashMap类,HashMap是Java专门用于处理字典的类,和C++中的map,或者Python中的dict相同。其特点是双列集合,一个元素包含两个值,一个称为key,一个称为value,key的底层是哈希表,不允许存储重复元素,无序,无法索引,因此无法使用普通的for循环,通常的使用场景是根据key得到value对应的值。在Java中也内置了许多常用的算法,在刷题时常常使用它。
今天给小伙伴们介绍HashSet类,HashSet是Java专门用于处理哈希表的类,和C++或者Python中的set相同。其特点是不允许存储重复元素,无序,无法索引,因此无法使用普通的for循环,查询速度特别快。在Java中也内置了许多常用的算法,在刷题时常常使用它。
今天给小伙伴们介绍LinkedList类,LinkedList是Java专门用于处理链表的类,和前面说的ArrayList都是List的实现类,但是ArrayList的底层存储方式是数组,因此查询快,可以通过地址移动直接进行查找,但是要增删元素就很慢,需要大量的移动元素。而LinkedList的底层存储方式是链表,因此查询很慢,需要一个一个比较查找,但是增删元素非常快,只需要修改链表的指向即可。因此模拟队列时常常使用,也是小伙伴们必须掌握的数据结构。
今天给小伙伴们介绍ArrayList类,ArrayList也是Java专门用于处理动态数组的类,和Vector基本相同,都是List接口的实现类,具有大量相似的成员方法。但是区别是Vector是同步单线程的,而ArrayList是多线程的,推荐使用ArrayList。