2019独角兽企业重金招聘Python工程师标准>>>
JAVA定义了Collection和Map两个接口作为集合框架的顶层接口。每个接口实现类的构造函数基本上遵循以下规则:要么是无参构造函数(用于构造一个空的集合对象),要么是带有一个相同类类型引用的构造函数(用于构造一个相同的对象)。
一,Collection接口:
Collection接口针对数据是单个元素设计,定义了数据集的增删改查等基本操作。框架又扩展了该接口,具体定义了Set,Queue和List三个接口。
Set接口:实现该接口类对象的元素集无序,数据不可重复。其中一个重要的实现类是HashSet。
List接口:实现该接口类对象的元素集是有序的,并且数据可以重复,可以根据位置对元素进行增删改
查等操作。其中重要的实现类是ArrayList和LinkedList,ArrayList底层是通过数组实现的,
而LinkedList底层是通过链表实现的。
Queue接口:该接口提供了FIFO的操作方法,offer()和poll()。offer()用于向队列添加元素,poll()用于
从队列删除元素。其中一个比较重要的实现类是PriorityQueue,该类实现了带有优先级的
队列操作方法。
二,Map接口:
Map接口针对数据是key-value对而设计的。其中,元素的key不可重复,但是value可以重复。Map接口提供了三个集合视角的接口:keySet(),entrySet()和values()。可以通过这三个基本接口对Map进行操作。其中最常见的实现类是HashMap,但是数据是无序的。
三,Collections类:
Collections类是一个Collection接口的包装类,主要提供了一些静态的类方法,用于操作实现Collection接口的各个对象。该类作为工具类,一般不作实例化。