多平台统一管理软件接口,如何实现多平台统一管理软件接口
278
2022-11-20
Java中具有映射关系的容器:数组和Map的区别说明
映射就意味着有两部分;
存储映射关系的容器是数组和Map集合;
区别:
(1)当映射关系中的一方是有序编号时,这个时候要想到数组这种结构;
(2)Map不一定需要有序编号,它只能建立对象之间的关系;
(3)如果映射的两方没有任何一方是有序的编号,就不能想数组了,这时应该用集合中具备映射关系的容器Map。
注意:
(1)Map中键相同时,键值会被覆盖;
(2)Map中一个Key可以对应一个集合,因为集合也是一个对象,集合也能往集合中放。
(3)Map
补充知识:java基础:集合(容器)—Collection和Map两大体系介绍和用法
集合类的作用
集合类也叫做容器类,和数组一样,用于存储数据,但数组类型单一,并且长度固定,限制性很大,而集合类可以动态增加长度。
集合存储的元素都是对象(引用地址),所以集合可以存储不同的数据类型,但如果是需要比较元素来排序的集合,则需要类型一致。
集合中提供了统一的增删改查方法,使用方便。
支持泛型,避免数据不一致和转换异常,还对常用的数据结构进行了封装。
集合框架体系的组成
集合框架体系是由Collection、Map(映射关系)和Iterator(迭代器)组成,各部分的作用如下所示。
Collection体系中有三种集合:Set、List、Queue
Set(集): 元素是无序的且不可重复。
List(列表):元素是有序的且可重复。
Queue(队列):封装了数据结构中的队列。
Map体系
Map用于保存具有映射关系的数据,即key-value(键值对)。Map集合的key是唯一的,不可重复,而value可以重复。所以一个value可以对应多个key。
Map体系除了常用类之外,还有Properties(属性类)也属于Map体系。
Iterator(迭代器)
基本功能就是遍历集合中的所有元素,除了List集合有一个独有的迭代器Listiterator,别的集合类都是一样的。
每个集合类都有iterator(),调用该方法就能得到迭代器对象。
如果List集合使用迭代器,建议使用ListIterator,比原有的迭代器多了一些方法。
除了使用迭代器遍历集合元素,也可以使用加强for和Java8的foreach()方法。如果是List集合,使用for循环也能做到。
Collection接口方法
Collection是Set、List和Queue接口的父接口,Set、List、Queue的子类都能使用如下方法。
boolean add(E e)_______________________________添加指定元素
boolean addAll(Collection c)___________________将指定集合中所有元素都添加到此 collection
boolean contains(Object o)_____________________集合中是否包含了指定元素
boolean containsAll(Collection> c)___________该集合是否包含指定集合中所有元素
boolean remove(Object o)_______________________移除指定元素
boolean removeAll(Collection> c)_____________移除指定的collection参数的所有元素
void clear()___________________________________清除集合中所有元素
boolean retainAll(Collection<3;> c)_____________保留指定Collection参数中元素,是两个集合的元素交集
boolean equals(Object o)_______________________比较此 collection 与指定对象是否相等
boolean isEmpty()______________________________判断该集合是否为空
Iterator
int hashCode()_________________________________返回集合的哈希码值
int size()_____________________________________返回此 collection 中的元http://素数
Object[] toArray()_____________________________返回一个包含该Collection所有元素的对象数组
Map接口方法
boolean containsKey(Object key)________________该映射是否包含指定键值
boolean containsValue(Object value)____________如果该键值对中有一个或多个key射到指定值,则返回 true
Set
Set
Collection
V get(Object key)______________________________返回指定键映射的值。如果不存在,则返回 null
V put(K key, V value)__________________________放入一个键值对(key-value)
void putAll(Map extends K,? extends V> m)____把指定映射的所有映射关系复制到此映射中
boolean isEmpty()______________________________如果此映射未包含键值映射关系,则返回 true
boolean equals(Object o)_______________________比较指定的对象与此映射是否相等
int size()_____________________________________返回此映射中的键-值映射关系数
int hashCode()_________________________________返回此映射的哈希码值
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~