java集合类简介(重学)
一.Collection(集合)、Map接口两者应该是平行关系吧。
1.Map介绍
Map是以键值(key-value)对来存放的,2个值。通过key来找到value(例:姓名-电话,通过姓名得到电话),通过Map创建的对象key都
不可以重复。 它的两个常用子类:HashMap类和HashTable类。
HashMap类:无序存放的,key不允许重复
HashTable类:无序存放,key不允许重复
key值可通过Map的方法keyset获取全部的key值,返回是个set集合;value的值可通过Map的方法values方法获取全部value的值。然后通过Iterator去遍历。
2.Collection(集合父接口)
Collection的子接口有(常用接口)一个值:List、Set、Queue等这三个接口 List接口和Set接口是Collection的子接口
(1)List接口:
List的内容是可以重复的,即可以有相同的值。例:添加(“A”)和(“A”)都是可以的 实现的常用的类有:ArraryList类和Vector类 ArraryList类是在JDK1.2推出的,采用异步处理方式,性能高,属于非线程安全的。 Vector类是在JDK1.0推出的,采用同步处理方式,性能低,属于线程安全的。
(2)Set接口:
不可以重复内容,但是可以排序,打断放入的顺序 它的两个常用子类:HashSet类和TreeSet类 HashSet类是散列存放的,不是按存储顺序存放的(比如输入是按字母顺序的,但输出就是随机了),是随机的,肯定不能排序了;
TreeSet类是有序存放的(比如按字母顺序输出的,虽然不是按字母顺序输入的),这个可以排序了。
二.Iterator接口:
集合输出的标准操作,只要是集合就用Iterator来输出,在Collection中提供了一个方法用来得到该迭代器的对象。 注意在用迭代器输出是不能用集合的remove移除集合中元素,否则会出现异常。