Map<key,value>键值对集合。 键不可以相同,值可以相同, 将键映射到值的对象,,,一个映射不能包含重复的键,,,,,每个键最多只能映射到一个值 子类 HashMap 和TreeMap 添加功能: v put(key,value) 添加元素,之歌其实还有另外一个功能。 如果不存在就添加,如果存在就替换,并且返回上一个的值。
删除功能: clear() 移除所有的键值对
remove(key)根据键删除对应的元素,并把值返回
判断功能:containsKey(key)判断集合是否包含指定的键
containsValue(value) 判断集合是否包含指定的值。
isEmpty() 判断集合是否为空
获取功能: set<Map.Entry<K,V>> entrySet(); 返回键值对对象集合,用于遍历对象、
V get(key) 根据键获取值
set<K> KeySet() 获取集合中所有的集合
Collection<V> values(): 获取集合中所有的值的集合
长度功能 int size() 返回集合中的键值对数。 两种遍历方式:
一种是:获取所哟键的集合,根据键找值
另一种:根据键值对对象找键和值 HashMap 类,键是哈希表结构,可以保证键的唯一性 对于键是引用类型的,要想添加相同的键,需要重写HashCode()和equals()函数,这样添加的值才最能够覆盖 linkedHashMap是Map接口的哈希表和链表队列的实现,具有可预知的迭代顺序。 由哈希表保证唯一性,由链表保证顺序性, TreeMap类 键是红黑树结构,可以保证键的排序和唯一性。 Hashtable类 注意这里的table的t不大写,创建的时候不规范。
HashMap是替代Hashtable的,但是table是同步的,效率低,table不能添加null值,map可以添加 HashMap和Hashtable区别
Hashtable线程安全,效率低,不允许null键和null值
HashMap 线程不安全,效率高,允许null键和null值。 List,Set不是继承Map接口,他们继承自Collection接口
Map接口本身就是一个顶层接口。 Coolections 针对集合操作的工具类,都是静态方法。 Coolections和Coolection的区别
Coolections是针对集合操作的工具类,有对集合进行排序和二分查找的方法。
Coolection是单列介个的顶层接口,有子接口List和Set sort(List<T> list) 排序,默认情况下是自然排序。要求形参实现comparable接口,主义自定义对象的排序,
int binarySerach(List<T> list,T key) 二分查找,如果没有,返回的是最大size+1加负号
T max(Collection<T> coll) 最大值。
reverse(List<T> list); 反转
shuffle(List<T> list);随机置换。 如果同时又自然排序和比较器排序,以比较器排序为主。
|