1.list
/*List 有序的序列. ---ArrayList LinkedList
* boolean add(Object e) 向列表的尾部添加指定的元素(可选操作)。
* void add(int index, E element) 在列表的指定位置插入指定元素(可选操作)。
* void clear() 从列表中移除所有元素(可选操作)。
* boolean contains(Object o) 如果列表包含指定的元素,则返回 true。
* E get(int index) 返回列表中指定位置的元素。
* E remove(int index) 移除列表中指定位置的元素(可选操作)。
* E set(int index, E element) 用指定元素替换列表中指定位置的元素(可选操作)。
* int size() 返回列表中的元素数。
* <T> T[] toArray(T[] a) 返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
* */
集合遍历的方式:
* 方式一:for循环 get(int index)-根据索引取值 size()-长度;
* 方式二:增强for循环
* 方式三:迭代器--就是一个对象,有方法返回每一个数据
*
* */
2.Set
/*Set 是一个无序(添加顺序)的不可重复的集合
* HashSet:判断重读的标准是什么(没有排序的能力)
* hashCode();
* equals();
* 先对比对象的hashCode 是否一致,如果一致再调用对象的equals方法判断对象里面存储的数据是否一致
* TreeSet:无序不可重复的集合.
* 如何排序?
* 放入的元素需要实现Comparable 并覆写comparto 方法 根据方法的返回值决定,排序的顺序与规则
*
*
* */
思考:如果一个类 同时使用了自然排序 和 定制排序,谁的优先级更高?
面试题:请说明Comparator 和 Comparable 区别?
3.Map
/*Map的常用方法 key---vlaue
* void clear() 从此映射中移除所有映射关系(可选操作)。
* V get(Object key) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
* V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。
* V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
* int size() 返回此映射中的键-值映射关系数。
* Collection<V> values() 返回此映射中包含的值的 Collection 视图。
* Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。
* Set<K> keySet() 返回此映射中包含的键的 Set 视图。 --就是把集合里面的key 装到一个set里面返回给调用者
*
* map的遍历方式:
* 方式一:keySet--返回所有key的集合,遍历key 通过key获取值
* 方式二:entrySet()
*
* hashMap key 判断重复的标准: hashCode 和equals方法决定的
* */