java list,map,set三个接口存储元素时各有什么特点?
list,map,set三个接口存储元素时各有什么特点?
1. 集合存储元素的特征:不允许重复元素。add方法有一个布尔返回值。如果集合中没有元素,那么add方法可以成功地添加元素,然后返回true。如果集合包含等于元素的元素,则add方法无法添加该元素,并且返回结果为false。
2. 列表存储元素的特性:有一个序列。当同一个元素多次调用add(object)方法时,添加的对象将按照先到先得的顺序排序,或者它们可以跳转队列。也就是说,可以调用add(int index,object)方法来指定当前对象在集合中的存储位置。
3. 映射存储元素特性:提供从键到值的映射。值可以是多值的。地图由两列组成。Put方法用于存储它:Put(obj key,obj value)。每次都应存储一对键/值,不能存储重复的键。这个重复规则是等比的。list和set都是单列元素的集合。它们有一个共同的父接口集合。映射不继承集合接口。Map提供从键到值的映射。地图界面提供了三组视图。映射的内容可以看作是一组键集、一组值集或一组键值映射。
Java集合类库的顶层里的Collection,List,Set是抽象类的话是否更“正确”一些?
不正确。Java是单继承。如果顶层是抽象类,对以后的代码扩展非常不利。java接口是多实现的,java官方设计为集合和集合,列表也是接口设计,符合java接口实现的特点。如果它们都被设计成抽象类,我们将无法在实际开发中实现我们自己的类。具体结构如下:
collection interface的接口对象集合(单列集合)
ζ-list interface:元素按条目顺序保存,可以重复
│--ζLinkedList接口实现类,链表,插入删除,不同步,行不安全
│--ζArrayList接口实现类,数组,随机访问,无同步,线程不安全!---向量接口实现类数组,同步,线程安全!-------stack是vector类的实现类
----set接口:只接收一次,不能重复,做内部排序
ζ-----HashSet使用哈希表(数组)存储元素
TreeSet的底层实现是二叉树,元素按顺序排列
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。