基础班技术贴
大家好,经过基础班以及就业班前期的学习,我本人对于java基础知识有了比较深刻的了解,下面我就来总结一下我最关注的几个点,希望大家今后共同学习进步。
Set与Map集合的用法
一、Set集合
1.特点:存取无序、无索引、不能重复
2.Set集合保证元素唯一性的原理:
A:如果哈希值不同,直接存入
B:如果哈希值相同,继续比较equals方法。如果equals方法返回true。不存入
C:如果哈希值相同,继续比较equals方法。如果equals方法返回false。以桶结构存储
创建Set集合时,需父类引用指向子类对象,如下:
Set<String> set = new HashSet<String>();
遍历时,用增强for 和迭代器即可
1.Iterator<String> it = set.iterator();
while(it.hasNext()) {}
2.for(String s : set) {}
二、Map集合
1.体系结构
Map分为HashMap(无序) 和 LinkedHashMap(有序)
2.双列集合的特点:
A:双列集合是键值对关系存储数据。键是不能重复的。值允许重复
B:HashMap 底层也是哈希算法。存取无序。
C:LinkedHashMap 底层是链表实现。保证存取有序。
3.Map集合常用方法:
V put(K key, V value) 添加键值对
V get(Object key) 通过键获取值
int size() 获取集合的长度
boolean containsKey(Object key) 判断集合中是否包含指定的键
boolean containsValue(Object value) 判断集合中是否包含指定的值
boolean isEmpty() 判断集合是否为空
void clear() 清空集合
V remove(Object key) 通过键删除键值对
Set<K> keySet() 获取所有的键,保存到Set集合中Collection values() 获取所有的值,保存到Collection集合中
遍历Map可以用keySet也可用entryset
这是我自己总结出的一个点,平时也是受用颇多,大家共同思考,共同进步,一起学好java。 |