一.Map
双列集合特点:1.以键值对的形式保存数据 key--value
2.键的值唯一,不重复
HashMap与HashSet的关系
HashSet是依赖map实现存储的,Set在保存数据时 实际上就是向Map中key这一列添加数据.
HashMap 去重 是对key去重
TreeMap 排序 是对key排序
二.一些方法
1.判断是否包含keyboolean b1 = map.containsKey("kk");
2.判断是否包含value
boolean b2 = map.containsValue(13);
3.获取Map所有key的集合
Set<String> set = map.keySet();
4.获取Map中所有value值的集合
Collection<Integer> values = map.values();
5.根据key删除整个键值对
Integer remove = map.remove("hh");
//注意: 返回的是该key对应的value
6.清空map
map.clear();
三.Entry接口
是map接口中的内部接口,保存的是键值对对象应用:使用entrySet方法进行遍历
使用迭代器遍历
Set<Entry<String, Integer>> entrySet = map.entrySet();
Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
while(iterator.hasNext()) {
Entry<String, Integer> entry = iterator.next();
System.out.println(entry);
}
增强循环遍历
for (Entry<String, Integer> key : entrySet) {
System.out.println(key);
}
四.Collections类 集合的工具类
1.洗牌方法Collections.shuffle(list);
2.反转
Collections.reverse(list);
3.排序
Collections.sort(list);
注意:当排序的对象是自定义的类时,需要实现comparable接口,然后重写compareTo方法.
4.二分查找(前提 有序)
int i = Collections.binarySearch(list, 15);