Collection 集合记录

来源:互联网 发布:淘宝橘子代购 编辑:程序博客网 时间:2024/05/29 04:42

* 单值操作接口:Collection、List、Set
   |-List、Set是Collection接口的子接口
*-对值的操作接口:Map
*排序的操作接口:SortedMap、SortedSet
*输出的接口:Iterator、ListIterator、Enumeration
*队列:Queue


Collection 集合输出有4种方式
   Iterator       --->有迭代接口
   ListIterator  ----->双向的输出---可以向前向后输出
   foreach  --> 对于数组、集合同样适用
   Enumeration ---> 只支持Vector类,古老的输出接口

Set依靠hashCode和equals()方法区分
TreeSet按照Comparable接口指定的规则进行排序
Map是保存一对值的集合,所有的内容都是以MapEntry的形式保存的。
集合输出要使用Itarator接口,进行迭代输出
属性操作使用Properties类完成

Map 接口保存的内容是一对值 Key,Value
常用三个子类---->HashMap,Hashable,TreeMap
HashMap--->不能存在重复值,Key不能重复       ---采用异步处理,性能高,非线程安全的操作
Hashtable--->与Vector产生时代一样,实现了Map接口  ---采用同步的处理,性能相对较低,线程安全
TreeMap---->可以按照KEY的方式进行排序

给定任意一个类进行排序,必须实现Comparable接口
注意一:  Map不能直接使用Iterator输出;在Map中真正保存的还是一个单独的对象,在放入集合里。
Interface Map.Entry<k,v>  此接口属于Static声明的接口,还是内部接口 .
1.Set<Map Entry<K,V>> entrySet()方法获得Set集合
2.通过Set接口为Iterator进行初始化的操作
3.通过Iterator取出每一个Map.Entry
4.通过Map.Entry进行key与value的分离
另用foreach也可以输出
注意二:使用非系统类作为Key
在Map中可以使用匿名对象找到一个key对应的值
Map<String,Person> map = new HashMap<String,Person>();
map.get();map.put();

其他子类IdentityHashMap
默认情况下,一个Map集合中key是不能重复的,然而通过这个类加入的内容,如果对象的地址不相等,则认为不是同一个对象,可以重复。(只有在两个对象在执行"=="操作的时候不相等才认为不是两个相同的对象)

例1.

例2.

 

原创粉丝点击