day11_面向对象_容器
其中,Collection中的List和set和Map中的HashMap是比较常用的
JAVA容器类类库的作用是保存对象,并将其划分两个不同概念:
A:Collection。一个独立元素的序列,这些元素都服从一条或者多条规则,List必须按照他插入的顺序保存元素,而Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序,这通常与它门被插入的顺序相同。
B:Map。一组成对的键值对对象,循序你使用键来查值。ArrayList允许通过数值查找对象,这在某种意义上将数值和对象联系在了一起。映射表允许我们使用另一个对象来查找某种对象,Map也被成为字典,因为你可用键对象来查找值对象,这像是使用页码查字的方式。
ArrayList按照插入顺序来保存元素,可以利用下标来查找值,但缺点就是在中间插入元素和删除元素很慢
set就是Collection,两个具有相同的接口,只是行为不同,set的最大特点是不存储相同的数据
将对象映射到对象是Map的最大特点,即用键值映射对象,键值其实也是对象。
容器的操作其实就是增删查改,但是set没有改,只能删除后增加
ArrayList的增(.add())删(.remove())查(.get())改(set())
set的方法:
add(Object obj);
addAll(Collection c);
Set中没有修改的方法,可以间接修改,先删除再添加;
删除的方法:remove(Object obj);
removeAll(Collection c);
retainAll(Collection c)仅保留set中那些包含在指定的Collection中的元素;
clear()清除所有元素;
查询的方法:contains(Object obj)查询set中是否包含指定元素,包含返回true;
containsAll(Collection c)查询set中是否包含指定的多个元素,全部包含返回true;
isEmpty()判断set是否为空,为空返回true;
Map集合的功能概述
a:添加元素功能
V put(K key,V value):添加元素。
如果键是第一次存储,就直接存储元素,返回null
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
b:删除元素功能
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回
c:判断功能
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
d:获取元素功能
Set<Map.Entry<K,V>> entrySet():
V get(Object key):根据键获取值
Set<K> keySet():获取集合中所有键的集合
Collection<V> values():获取集合中 * int size():返回集合中的键值对的个数所有值的集合