集合框架总结自定义队列复习

集合框架的总结
自定义队列的复习
一. java集合框架
Collection是Set,List,Queue的顶层接口。
注意:不是Map的!
3种集合:
1.Set
接口 Set<E>
类型参数:
E - 此 set 所维护元素的类型

Set是一个接口的定义,已知实现子类有:
Collection, List, SortedSet, HashSet, TreeSet, AbstractSet, Collections.singleton(java.lang.Object), Collections.EMPTY_SET
常用的子类有:HashSet  和  TreeSet。

特点:
1>无序的
2>不能有重复的数据(地址)
3>不能使用索引来获取数据
4>如果获取数据,必须使用迭代器

2.List
List<E>
类型参数:
E - 此 set 所维护元素的类型

有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
List 接口在 iterator、add、remove、equals 和 hashCode 方法的协定上加了一些其他约定,超过了 Collection 接口中指定的约定。为方便起见,
这里也包括了其他继承方法的声明。

特点:
1>有序的,先进先出
2>操作方法类似
3>是使用数组来实现的

3.Map   
接口 Map<K,V>
类型参数:
K - 此映射所维护的键的类型
V - 映射值的类型

一一对应的映射,每个对象和它的一个键关联在一起。
Map中存放的两种对象: key(键) 和    value(值),一一对应。

已知实现子类:
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap, Hashtable, IdentityHashMap,
LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap,
UIDefaults, WeakHashMap
常用的子类:HashMap  和    Hashtable。


特点:
1>键值对方式存储数据
2>只要键不同,那么值是可以相同的(键不能重复,但只可以重复!)
二.自定义队列的复习
自定义队列是线性数据结构。
自定义队列的特点:
1. 自定义队列的大小是可变的,它的大小始终与它的元素数量相同
2. 队列要借助引用和数组来实现
3. 自定义队列是通过类来操纵数组的,所有的方法都封装在类里,类外是看不到具体方法的。
为何要使用自定义队列:
数组的大小通常都是固定的,在未知所需的存储大小的情况小,队列不定大小的特性会很实用方便。
自定义队列是通过类封装数组,再定义一系列方法以实现数据的增删改查。方法是自定义的,可以进行各种修改,所以自定义队列即方便又有很大的可控性。
队列的定义方法:
1. 定义一个接口,接口中定义操作数组的方法
2. 定义一个类实现接口中的方法。

你可能感兴趣的:(java)