Map集合
一、Map集合概述
Map集合双列集合:分别存储 键 和 值 键理解为属性名 value属性值
键绝对是独一无二的 一般来说键:String 值:Object
Map<String,Object> map = new HashMap<String,Object>();
map.put("1001", "张三1");//添加元素
map.put("1002", "张三2");
map.put("1003", "张三3");
System.out.println(map);
System.out.println(map.get("1002"));//获取指定键 对应的值
System.out.println(map.size());
二、如何遍历一个map集合:
1.将其转成Set集合
Set<String> set = map.keySet();//将map集合中的键 全部转成set集合
System.out.println(set);
for(String s :set) {
System.out.println(map.get(s));
}
三、使用3种方式 遍历集合的效率
import java.util.LinkedList; import java.util.List; public class Test8 { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); for(int i = 1; i<=10000000;i++) { list.add(i); } System.out.println("准备完毕!!!!!!!!!!"); // 遍历集合的效率 long l1 = System.currentTimeMillis(); for(int i = 0 ;i<list.size();i++) { if(i==9999999) { System.out.println("111222"); } } long l2 = System.currentTimeMillis(); System.out.println("普通for循环的遍历效率为" + (l2-l1) );//7 long l3 = System.currentTimeMillis(); for(Integer i : list) { if(i==9999999) { System.out.println("111222"); } } long l4 = System.currentTimeMillis(); System.out.println("增强for循环的遍历效率为" + (l4-l3) );//35 long l5 = System.currentTimeMillis(); //任何集合都可以通过额外一个知识点: Iterator(迭代器) Iterator<Integer> it = list.iterator(); while(it.hasNext()) {//是否还有下一个元素 if(it.next()==99999999) { } } long l6 = System.currentTimeMillis(); System.out.println("迭代器循环的遍历效率为" + (l6-l5) );//23 } } |