集合和数组的区别:
1、长度的区别
数组的长度是不可变,集合的长度是可变的
2、存储数据类型的区别
数组既可以存储基本数据类型的元素,也可以存储引用数据类型的元素
集合只能存引用数据类型的元素
3、内容的区别
数组只能存储同一种数据类型的元素
集合可以存多种数据类型的元素
HashMap和HashTable的区别:
HashMap是线程不安全,允许null值和null键
HashTable是线程安全的,不允许null值和null键
Map集合的两种遍历方式:
第一种:键找值
代码:
// 获取所有的键对应的set的集合
Set<String> keys = map.keySet() ;
for(String key: keys){
// 根据键找值
String value = map.get(key) ;
System.out.println("值: " +value );
}
第二种:通过键值对对象 获取键和值
代码:
// 获取所有的键值对对象 对应的Set的集合
Set<Entry<String, String>> en= map.entrySet() ;
for(Entry<String, String> e : en ){
// 根据键值对对象 获取键和值
String key= e.getkey() ;
String value = e.getValue() ;
}
集合的继承体系图:
集合总结: