Collection和Map集合学习小结(一)
来源:互联网 发布:sqlserver的安装 编辑:程序博客网 时间:2024/04/28 02:44
这几天学习了Collection集合和Map集合中的部分内容,Collection集合之下分了若干子接口,我主要学习List和Set集合,在其下又分了几个类,我主要学习了ArrayList和LinkedList,在Set集合中我主要学习了HashSet和TreeSet.在Map集合中我主要学习TreeMap和HashMap.
Collection:单列集合 Map:双列集合
List:有序(怎么样存进去再怎么样取出来),可重复(可以多次存入同一元素)
ArrayList:底层数据结构为数组,查询快增删慢,线程不安全所以效率高
LinkedList::底层数据结构为链表,查询慢增删快,线程不安全所以效率高
Vector:底层数据结构为数组,查询快增删慢,线程安全所以效率低
Set:无序(存入和取出顺序没有联系),不可重复
HashSet:底层数据结是哈希表,它主要依靠两个方法hashCode()和equals();首先判断元素的哈希值是否相同,如果相同,再调用equals方法,确定是否为同一元素。
LinkedHashSet::底层数据结构由链表和哈希表组成,由链表保证元素有序(怎么样输入怎样取出),由哈希表保证元素唯一。
TreeSet::底层数据结构是红黑树(一种自平衡的二叉树)。根据返回值是否为0来保证元素唯一,可通过两种方法实现元素排序:1、让元素所属的类实现Comparable接口2、让TreeSet集合接受一个Comparator的对象。
Map集合:
1、其底层数据结构可与上面分别进行对应
2、Map集合的数据结构仅对键有效而与值无关
3、Map集合中存储的是键值对形式的元素,键唯一,值可重复
HashMap
LinkedHashMap
TreeMap
如何选择我们需要的集合类型?根据实际情况
是否是键值对类型?
是:Map集合 键是否需要排序?
是:TreeMap
否:HashMap
如果不确定则一般选用HashMap集合
否:Collection集合 是否需要保证元素唯一?
是:Set集合 元素是否需要排序?
是:TreeSet
否:HashSet
如果不确定则一般选用HashSet集合
否:List集合 增删多还是查询多?
增删多:LinkedList
查询多:ArrayList
不确定就用ArrayList
- Collection和Map集合学习小结(一)
- 集合详解(一)----Collection和Map接口
- 学习集合Collection , Map
- 集合Collection和Map
- java集合(一)——集合框架 Collection, Map
- 集合框架-----Collection和Map
- 黑马程序员——集合(一)--集合的数据结构、集合概述、Collection、遍历、List、Set、比较和排序、Map
- Java基础学习记录之集合(Collection和Map)
- Collection集合类和Map集合类
- Map集合和Collection集合的区别
- 简单谈谈Collection集合和Map集合
- 【java集合一】根接口Collection、Map
- 集合(一)Collection
- 集合源码学习(一):Collection
- Bigdata Development Java_Study_06(集合Collection和Map)
- Java 中对集合 ( Collection 和 Map ) 的总结
- Java学习笔记之集合Collection&Map
- 集合(一)集合的引入、Collection和Iterator
- MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka
- What is SUID, SGID and Sticky bit ?
- SAP Tcode description
- 两周学会Python 第02天(下午)
- 配置数据库连接池使用之JNDI的方式
- Collection和Map集合学习小结(一)
- 兄弟郊游问题
- 安普诺CEO张涛先生之再谈WebShell检测【内附精品PPT】
- Android 跳转应用权限设置页面 适配小米系统
- Unity —— 关于Lerp插值的基本原理
- 2017年的6个大数据发展趋势
- 开元盛世,在今天既是我的开篇之日
- Andorid 中TouchEvent理解(一) Event从底层到DecorView
- 使用vue.js仿一个链家