黑马程序员——集合类(三)
来源:互联网 发布:陌陌防封软件 编辑:程序博客网 时间:2024/06/07 10:48
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
Map集合
Map区别于Collection集合,它一次存储2个对象是双列集合,一个为Key,一个为值。
HashMap底层使用的是哈希算法去除重复的元素,线程是不安全的,但是效率高,不过是无序的。
HashMap还有一个子类LinkedHashMap.它的底层和HashMap一样也是通过哈希算法去除重复的,不过它是怎么存入怎么取。
TreeMap底层使用的是二叉树,可以通过比较器Comparator或者实现Comparable接口自定义排序方式。
Hashtable它是集合的早期版本,功能类似于HashMap,线程是不安全的,效率较低,还有就是它的值和键都不能为null.
Map集合主要的特点是一次性存入键和值俩个对象,并且集合中的键是唯一的,所以说可以通过键值来查找对象
Map集合中的方法。
put() 存储一条记录, 一个键和一个值
get() 根据键对象获取值
containsKey() 判断是否包含指定的键
containsValue()判读是否包含这个值
remove(key) 根据键删除所属对象
迭代Map集合方法
1.先调用keySet()方法从Map集合中获取所有key组成的一个Set集合,迭代集合可以得到每一个key,然后再
通过get()方法的键获取每一个Value.
2.其次,先调用entrySet()方法从Map集合中获取所有Entry(键值对)组成的一个Set集合然后调用getKey()和
getValue方法得到每一个键和值
在使用HashMap存储键值对的时候, 先调用Key对象的hashCode()方法计算一个哈希值, 在Map中查找是否
有相同哈希值的Key对象 。
如果没有哈希值相同的Key对象, 这个键值对直接存入。
如果有哈希值相同的Key对象, 那么就进行equals比较
比较是结果是false时,存入键对象,如果是true则覆盖原Value
Collection和Collections的区别
Collection是单列集合的根据接口
Collections是一个工具类,里面所有的方法都是静态的,为集合提供服务的
sort()对指定列表按升序进行排序。
sort(List<T> list, Comparator<? super T> c)对指定的列表用我们指定的方式排序
reverseOrder()返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序
reverseOrder(Comparator<T> cmp)返回一个比较器,它强行逆转指定比较器的顺序。也可用作参数的形式传给TreeSet
max和min//max(list)//max(list,比较器);
binarySearch()对有序的集合二分查找
fill(List<? super T> list, T obj)用obj将集合中的元素替代
reverse(List<?> list)集合反转
swap(List<?> list, int i, int j);指定位置的交换
shuffle(List<?> list);对集合中的元素随机置换
replaceAll(List<T> list, T oldVal, T newVal)新元素替换老元素
synchronizedList(List<T> list)返回指定列表支持的同步(线程安全的)列表
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
- 黑马程序员——集合类(三)
- 黑马程序员——集合(三)
- 黑马程序员——集合(三)
- 黑马程序员笔记——Java集合类三
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员—集合
- 黑马程序员——集合学习笔记(三)
- 黑马程序员_集合框架(三)——泛型
- 黑马程序员——Java之集合框架(三)
- 黑马程序员——Java基础--集合(三)
- 黑马程序员——自学总结(三)集合框架
- 黑马程序员——集合框架(三)
- 红帽/CentOS ext4无法格式化大分区 补充ext4格式化方式
- 面向对象的设计原则——依赖倒转原则
- jQuery validate 插件验证表单神器
- Kinect——正向动力学和反向动力学
- SDL2.0_05_sprite sheet
- 黑马程序员——集合类(三)
- Wikioi P3286 花匠——80分
- 今天看到的一个很好的题集!转自【671coder】的blog
- 第九周 项目四 乘法口诀表
- jquery-easyui的datagrid在checkbox多选时,行选中不对应,去除高亮的解决方法
- 看懂微软CRM2015的一些大变化
- IPHONE控制苹果电脑上Keynote演示PPT教程
- 这不是一个关于时间的问题,而是关于精力。
- win7下安装纯净版XP