hashmap linkedhashmap hashset treemap arraylist linkedlist
这几种java collection一直在面试中或笔试中遇到。
谁能结合实际中的用例,谈谈你在项目中的应用,毕竟理论都要服务于实践,谢谢。
------解决思路----------------------
hashmap
linkedhashmap
treemap
前三者都是Map接口的子类,是以键值对的形式存在的。而且元素不能重复。在开发应用中应用比较广。简单的给你事例以下:
比如:“张三”,”24岁“通过年龄去取出人的名字,等等。
hashset :这个是Set集合的子类,底层数据结构类型是哈希值,无序不能重复。它会自己获取一个元素的哈希值,用=判断哈希值是否相等,若相等,则再使用equals方法判断是否相等,如若equals判断相等则判为重复。反之,哈希值不相等就不会调用equals方法了,因为哈希值都不相等,元素肯定就不会重复了。
arraylist
linkedlist
这两个是List集合的子类,前者底层数据结构类型是数组。查找速度快,但是增删速度慢,也就是说在开发时要查找数据就用它。后者底层数据结构类型是链表。故此增删的速度快,查找的速度慢。开发时为了提高程序的运行效率,根据特定情况使用特定的集合。arraylist、linkedlist二者属于Collection集合,二Map集合不属于Collcetion集合。
觉得对你有帮组的话就给个分哈,我穷的要屎。