map集合
程序员文章站
2022-07-13 09:20:17
...
**
第五堂课(map集合)
**
一、map集合的特点:
1.以键值对的方式存储数据
2.是无序的
3.键不能重复,如果键重复了会替换值(如果有重复键会进行替换)
二、如果不知道键 如何获取值?
解决:
方法一:将所有的键保存到set集合(再遍历输出键值对,foreach遍历)
例如:
方法二:将所有的键保存到set集合(再遍历输出键值对,迭代器遍历)
例如://迭代器 循环
Set<String> key=map.keySet();//将所有的键保存到set集合
Iterator<String> ite=key.iterator();
while(ite.hasNext()) {
String k=ite.next();
System.out.println(k+","+map.get(k));
}
三、HashMap和HashSet的关联关系是什么?
1.在HashMap中的键全部是存在HashSet中的
2.TreeMap中的键是存在
四、面试题:如何快速遍历map集合(海量数据)
例如: for(Map.Entry<String, String> entry :map.entrySet()) {
System.out.println(entry.getKey()+","+entry.getValue());
}
五、HashMap与HashTable的区别(类似于ArrayList和Vector的区别)
1.HashTable:有同步的,线程安全
2.HashMap:非同步的,线程不安全
六、Collections(集合)和Arrays(数组)
1.他们是两个工具类,分别提供了一组静态方法用来操作集合和数组的
2.Collections操作的是集合,Arrays操作的是数组
3.静态的方法的特点:可以直接用类名调用
七、Collections中的方法
1.Collections.shuffle(list(集合));打乱顺序(例如考试的试卷不一样)
八、将集合变成数组(并进行输出)
例如:`
九、如果list需要实现同步,三种方式
1.使用vector
2.synchronizedCollection
Collection synchronizedCollection=Collections.synchronizedCollection(list);//实现同步
3.synchronized 同步块
synchronized(list) {
}