- HashMap
HashMap里的key不能重复,所以HashMap里最多只有一个key-value的key为null,但可以无数多个key-value对的value为null。
为了成功地在HashMap中存储获取对象,用作key的对象必须实现hashCode和equals方法
- 使用Properties类读写属性文件
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class PropertiesTest { public static void main(String[] args) throws FileNotFoundException, IOException { // TODO Auto-generated method stub Properties props = new Properties(); props.setProperty("username", "ivy"); props.setProperty("password", "12345"); props.put("fruit", "apple"); props.store(new FileOutputStream("a.ini"), "comment line"); Properties props2 = new Properties(); props2.setProperty("gender", "famale"); props2.load(new FileInputStream("a.ini")); System.out.println(props2); } }
输出结果:
{password=12345, fruit=apple, gender=famale, username=ivy}
- Map性能分析
HashMap vs Hashtable
HashMap快,因为Hashtable需要额外的线程同步控制。
HashMap线程不安全,Hashtable线程安全。
TreeMap vs HashMap
TreeMap慢,因为需要使用红黑树管理key-value对。
TreeMap的key-value处于有序状态,无需专门进行排序操作。
一般应用多使用HashMap,只有程序需要排序的Map时,考虑TreeMap
LinkedHashMap vs HashMap
LinkedHashMap慢,因为需要维护链表。