package com.hrf.demo;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import java.util.Properties;
import java.util.Vector;
public class LeaveClassTest {
public static void main(String[] args) {
/*
遗留类 缺点 取代类
Vector 方法都是同步的影响性能 ArrayList和LinkedList
HashTable 方法都是同步的影响性能 HashMap
Stact 因为继承Vector,同样影响性能 LinkedList
Enuneration 只能与历史集合使用 Iterator
HashTable和HashMap的区别?
1.HashTable多线程的,效率低;HashMap单线程的,效率高.
2.null可以作为HashMap的key使用,但是不能作为HashTable的key使用.
*/
// 1.HashMap
Map<String, Integer> map = new HashMap<String, Integer>();
map.put(null, null);
map.put("a", 2);
map.put(null, 1);
System.out.println(map);
System.out.println(map.get(null));
// 2.HashTable
// Map<String, Integer> map2 = new Hashtable<>();
// map.put(null, 1);//java.lang.NullPointerException会报错
// map.put("a", 2);
// System.out.println(map2);
// System.out.println(map2.get(null));
System.out.println("----------------------");
// --------------------------
// 属性类Properties
Properties properties = new Properties();
// 添加
properties.setProperty("name", "张三");
properties.setProperty("sex", "男");
// 获取
System.out.println("返回的是Object类型\t" + properties.get("name"));
System.out.println("返回的是String类型\t" + properties.getProperty("sex"));
System.out.println("---------------------");
// ----------------------------
Map<Integer,String> map3 = new HashMap<>();
// 添加键值对
map3.put(1, "张三");
map3.put(2, "李四");
map3.put(3, "王五");
// 按照key获取value
System.out.println(map3.get(3));
// 按照key移除value
System.out.println(map3.remove(2));
System.out.println(map3);
// 清空
map3.clear();
System.out.println(map3);
}
}
集合扩展案例练习以及HashTable和HashMap的区别?
最新推荐文章于 2023-08-25 10:46:36 发布