4. Map-济南达内培训负责整理
Map 用于保存具有映射关系的数据,因此Map 集合里保存着两组值,一组用于保存Map 里的Key ,另外一组用于保存Map 里的Value.
Map 中的key 和 value 都可以是任何引用类型的数据。
Map 中的Key 不允许重复,即同一个Map 对象的任何两个Key 通过equals 方法比较都返回false .
key 和 Value 之间存在单向一对一关系,即通过指定的Key 总能找到唯一的,确定的Value .
5. HashMap 和 HashTable
HashMap 和 Hashtable 是Map 接口的两个典型实现类。
区别:
HashTable 是一个古老的Map 实现类,不建议使用。
HashTable 是一个线程安全的Map 实现,但HashMap 是线程不安全的。
HashTable 不允许使用null 作为key 和 value ,而HashMap 可以。
与HashSet 集合不能保证元素的顺序一样,HashTable、HashMap 也不能保存其中key-value 的顺序。
HashTable 、HashMap 判断两个key 相等的标准是:两个key 通过equals 方法返回true,HashCode 值也相等。
HashTable 、HashMap 判断两个Value 相等的标准是:两个Value 通过equals 方法返回true .
6. LinkedHashMap
LinkedHashMap 是HashMap 的子类。
LinkedHashMap 可以维护Map 的迭代顺序:迭代顺序与key-value 对的插入顺序一致。
7.TreeMap
TreeMap 存储key-value 时,需要根据key 对key-value 进行排序。TreeMap 可以保证所有的key-value 处于有序顺序。
TreeMap 的Key 排序:
自然排序:TreeMap 的所有key必须实现Comparable 接口,而且所有的key 应该是同一个类的对象,否则将会抛出ClassCastException .
定制排序:创建TreeMap 时,传入一个Comparator 对象,该对象负责对TreeMap 中的所有key 进行排序。此时不需要Map 的Key 实现Comparable 接口。
8. Properties
Properties 类是HashTable 的子类,该对象用于处理属性文件。
由于属性文件里的key 、value 都是字符串类型,所以properties 里的key 和 value 都是字符串类型的。
Properties pro = new Properties();
InputStream in = this.class.getClassLoader()。getResourceAsStream(“jdbc.properties”); // 通过类加载器获得jdbc文件的输入流
pro.load(in);
String user = pro.getProperties(“user”);
9. Collections 工具类
Collections 是一个操作Set 、List 和 Map 等集合的工具类。
Collections 中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变炖对集合对象实现同步控制等方法。
10. Enumeration
Enumeration 接口是Iterator 迭代器的“古老版本”.
以上就是济南达内培训给大家做的内容详解,更多关于IT的学习,请继续关注济南达内培训