黑马程序员——集合总结2
2012-02-11 20:45
260 查看
--------------
android培训、java培训、期待与您交流! -------------
Set
接口
无序,元素唯一
HashSet
数据结构:哈希表
不同步
如何保证元素的唯一性:
1, 获取哈希值:添加的自定义对象需要覆盖hashCode()方法,写自己的哈希值获取方法。
2, 判断对象内容:覆盖equals()方法,提供自身判断对象是否相等的方法。
容器在添加对象时,会自动调用hashCode和equals方法。
TreeSet
数据结构:二叉树
不同步
对元素进行排序。
如何排序的?
排序方法一:
让元素具备比较性。
添加的自定义对象需要实现Comparable 接口,并覆盖compareTo()方法。
compareTo方法返回值有三个:正、 负 、0 ;(大于、小于、等于指定对象)
如果相等,则不能添加到容器。(保证元素的唯一性)
排序方法二:
比较器:让TreeSet集合在初始化时就具备比较性。
创建一个类实现Comparator接口,覆盖compare方法。
将这个类对象作为参数传递给TreeSet构造函数。
LinkedHashSet
在哈希表的基础上加入了链表结构,
实现元素唯一性的同时,保证了有序。
Map集合(重点)
独立的体系
特点:
1,一次存储一对对象
2,这对对象,左边叫键,右边叫值,map集合中存储的都是键值对。
3,键与值之间有对应关系(映射)。
4,在多键值对中,键必须保证唯一性。
Collection 和 Map的区别:
Collection:一次存储一个对象,
Map :一次存储一对具有映射关系的键值对对象。
Map较为常用,原因:
可以将存储的对象进行名称的对应。查找对象时比较方便。
什么时候使用map集合呢?
分析问题时,如果出现了映射关系时,优先想到map集合
如果关系中一部分是有规律的编号,可以考虑数组。
了解Map集合的基本功能
1,添加
value put(key,value);新值覆盖旧值,返回key对应的原来的值,原来没有返回null
void putAll(Map)
2,删除
clear()
value remove(key):返回被移除键对应的值
3,判断
containsKey(key);
containsValue(value)
isEmpty();
4,获取。
value get(key);通过指定的键获取具体的对应的值。没有该键返回null。
//03---null。
size():
Collection<v> values():获取map集合中所有的值的集合.
如何获取map中所有的键值对呢?
1,Set<K> keySet()方法:获取map集合中的所有的键。并将这些键存储到一个set集合中。
有了set集合,就有了迭代器。在取出每一个键时,
通过map集合的get方法就可以获取到key对应的值。
Collection是单列集合。Map是双列集合
为了便于理解.
Collection里面存储的是单身汉.Map集合存储时夫妻.
Map集合的取出元素的原理:将map集合转成Set集合.在迭代.
2,Set<Map.Entry<key,value>>entrySet(): 获取map集合中所有的键值关系,并将关系存储到Set集合中。
这个关系对象的类型就是Map.Entry.
对Set集合进行迭代,迭代出的关系对象,可以通过自己的getKey,getValue方法获取键和值。
Map中常用的对象
三个:
Hashtable:(被HashMap替代)
内部是哈希表结构,
不允许存储null键,null值。
同步
HashMap:
内部是哈希表结构,
允许存储null键、null值
不同步
替代了Hashtable
TreeMap
内部是二叉树结构
可以对Map集合中的键值排序
-------------
android培训、java培训、期待与您交流! -------------
android培训、java培训、期待与您交流! -------------
Set
接口
无序,元素唯一
HashSet
数据结构:哈希表
不同步
如何保证元素的唯一性:
1, 获取哈希值:添加的自定义对象需要覆盖hashCode()方法,写自己的哈希值获取方法。
2, 判断对象内容:覆盖equals()方法,提供自身判断对象是否相等的方法。
容器在添加对象时,会自动调用hashCode和equals方法。
TreeSet
数据结构:二叉树
不同步
对元素进行排序。
如何排序的?
排序方法一:
让元素具备比较性。
添加的自定义对象需要实现Comparable 接口,并覆盖compareTo()方法。
compareTo方法返回值有三个:正、 负 、0 ;(大于、小于、等于指定对象)
如果相等,则不能添加到容器。(保证元素的唯一性)
排序方法二:
比较器:让TreeSet集合在初始化时就具备比较性。
创建一个类实现Comparator接口,覆盖compare方法。
将这个类对象作为参数传递给TreeSet构造函数。
LinkedHashSet
在哈希表的基础上加入了链表结构,
实现元素唯一性的同时,保证了有序。
Map集合(重点)
独立的体系
特点:
1,一次存储一对对象
2,这对对象,左边叫键,右边叫值,map集合中存储的都是键值对。
3,键与值之间有对应关系(映射)。
4,在多键值对中,键必须保证唯一性。
Collection 和 Map的区别:
Collection:一次存储一个对象,
Map :一次存储一对具有映射关系的键值对对象。
Map较为常用,原因:
可以将存储的对象进行名称的对应。查找对象时比较方便。
什么时候使用map集合呢?
分析问题时,如果出现了映射关系时,优先想到map集合
如果关系中一部分是有规律的编号,可以考虑数组。
了解Map集合的基本功能
1,添加
value put(key,value);新值覆盖旧值,返回key对应的原来的值,原来没有返回null
void putAll(Map)
2,删除
clear()
value remove(key):返回被移除键对应的值
3,判断
containsKey(key);
containsValue(value)
isEmpty();
4,获取。
value get(key);通过指定的键获取具体的对应的值。没有该键返回null。
//03---null。
size():
Collection<v> values():获取map集合中所有的值的集合.
如何获取map中所有的键值对呢?
1,Set<K> keySet()方法:获取map集合中的所有的键。并将这些键存储到一个set集合中。
有了set集合,就有了迭代器。在取出每一个键时,
通过map集合的get方法就可以获取到key对应的值。
Collection是单列集合。Map是双列集合
为了便于理解.
Collection里面存储的是单身汉.Map集合存储时夫妻.
Map集合的取出元素的原理:将map集合转成Set集合.在迭代.
2,Set<Map.Entry<key,value>>entrySet(): 获取map集合中所有的键值关系,并将关系存储到Set集合中。
这个关系对象的类型就是Map.Entry.
对Set集合进行迭代,迭代出的关系对象,可以通过自己的getKey,getValue方法获取键和值。
Map中常用的对象
三个:
Hashtable:(被HashMap替代)
内部是哈希表结构,
不允许存储null键,null值。
同步
HashMap:
内部是哈希表结构,
允许存储null键、null值
不同步
替代了Hashtable
TreeMap
内部是二叉树结构
可以对Map集合中的键值排序
-------------
android培训、java培训、期待与您交流! -------------
相关文章推荐
- 黑马程序员————Java基础日常笔记---对集合的理解与总结一
- 黑马程序员-Java基础总结08——集合与集合框架(…
- [黑马程序员]集合_List总结
- 黑马程序员_java_集合总结(上)
- 黑马程序员_Java集合总结(一)
- 黑马程序员_Java集合总结(三)
- 黑马程序员-java集合总结
- 黑马程序员——集合总结1
- 黑马程序员 集合Collection 学习总结
- 黑马程序员_java_集合总结(下)
- 黑马程序员-集合框架总结
- 黑马程序员--Java编程之集合阶段总结
- 黑马程序员:Java基础总结----Map集合
- 黑马程序员_集合框架总结
- 黑马程序员 Java面向对象——集合框架总结
- 黑马程序员———Java基础------集合框架知识点总结(二)
- 黑马程序员——学习日记之--集合框架知识总结
- 黑马程序员----java基础---集合总结
- 黑马程序员-----集合框架总结笔记一
- 黑马程序员--集合总结(二)