Map 双列数据,存储key–value 对的数据,
HashMap:作为Map的主要实现类:线程不安全的,效率高,存储null的Key 和value
LinkedInHashMap:保证在遍历Map元素时,可以按照添加顺序实现遍历
TreeMap:保证按照添加的key–value对进行排序,实现排序遍历
Hashtable:作为古老的实现类:线程安全的,效率低;不能存储null的Key 和value
properties:常用来处理配置文件,key 和value 都是String类型。。
HashMap的底层:
数组+列表(JDK 7 之前)
数组+链表+红黑树(JDK 8之前)
Map 中的Key:无序的、不可重复的,使用Set存储所有的key ;Key所在的类要重写equals() 和Hashcode()以HashMap为例。
Map中的value:无序的、可重复的,使用collection存储所有的Value
一个键直对:Key–value构成了Entry 对象
Map中的Entry:无序的、不可重复的、使用Set 存储所有的Entry
JDK7和 JDK 8的区别
百度,查看
1、添加
map.put(“AA”,123);
2、修改
map.put(“AA”,87);
putALL(Map m):将m中的所有key—value 对存放到当前map中
map1.putAll(map1);
3、remove 移除
Object value= map.remove("CC");
System.out.println(value);
System.out.println(map);
4、clear()清空操作
map.clear();
System.out.println(map.size());
@Test
public void test2(){
Map map = new HashMap();
map.put(“AA”,123);
map.put(“BB”,456);
map.put(“CC”,899);
map.put(“DD”,10000);
5、 object get(object key)
System.out.println(map.get(“DD”));
6、 containskey (Object key )
boolean isExist =map.containsKey("CC");
System.out.println(isExist);
7、 isExist =map.containsKey(123);
System.out.println(isExist); //false
8、map.clear();
System.out.println(map.isEmpty());
}
}
@Test
public void test3(){
Map map = new HashMap();
map.put(“AA”,123);
map.put(“BB”,456);
map.put(“CC”,899);
map.put(“DD”,10000);
// 遍历所有key 集:keySet()
Set set = map.keySet();
Iterator iterator =set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
// 遍历所有value集合:values()
Collection values =map.values();
for (Object obj:values){
System.out.println(obj);
}
// 遍历所有的Key–Value
// 方式一: EntrySet
Set entryset =map.entrySet();
Iterator iterator1 = entryset.iterator();
while (iterator1.hasNext()){
Object obj = iterator1.next();
Map.Entry entry= (Map.Entry)obj;
System.out.println(entry);
System.out.println(entry.getKey() +"---------"+entry.getValue());
}
}
}
// 方式二:
Set keySet = map.keySet();
Iterator iterator2 =keySet.iterator();
while (iterator2.hasNext()){
Object key =iterator2.next();
Object value =map.get(key);
System.out.println(key +"---------" +value);
}
// 遍历常用方法:
添加: put(Object key Object values )
删除:remove
修改:put(Object key )
查询:get
长度:size()
插入:keySet() / values() / entryset()
1、在IDE中 当前工程下创建JDBC 文件,自动会到当前工程的目录。
2、右键New 选择File 和 Resoure Bundile 都可以;这里选择的是后者。
面试题:Collection 和 Collections的区别?
1.Collection:
是集合类的上层接口。本身是一个Interface,里面包含了一些集合的基本操作。
Collection接口时Set接口和List接口的父接口
2.Collections
Collections是一个集合框架的帮助类,里面包含一些对集合的排序,搜索以及序列化的操作。
最根本的是Collections是一个类,
Collections 是一个包装类,Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素, 而另一些则不允许,一些 collection 是有序的,而另一些则是无序的。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。