Java双列集合如何为?

摘要:java——双列集合 双列集合一次需要存一对数据,分别为键和值 键不能重复 键和值是一一对应的,每一个键只能找到自己对应的值 键+值这个整体我们称之为“键值对”或“键值对对象”Entry对象 方法名说明 V put(k k
java——双列集合 双列集合一次需要存一对数据,分别为键和值 键不能重复 键和值是一一对应的,每一个键只能找到自己对应的值 键+值这个整体我们称之为“键值对”或“键值对对象”Entry对象 方法名说明 V put(k key,v value) 添加元素 V remove(Object key) 根据键删除键值对元素 void clear() 移除所有的键值对元素 boolean containskey(Object key) 判断集合是否包含指定的键 boolean containsValue(Object value) 判断集合是否包含指定的值 boolean isEmpty() 判断集合是否为空 int saze() 集合长度,也就是键值对个数 Map遍历 HashMap底层是哈希表结构的 依赖hashCode方法和equals方法保证键的唯一 如果键储存的是自定义对象,需要重写hashCode和equals方法 如果值存储的时自定义对象,不需要重写hashCode和equals方法 LinkedHashMap 有键决定的:有序,不重复,无索引 这里的有序是指保证存储和取出的元素顺序一致 原理:底层数据结构依然是哈希表,只是每个键值对又额外的多了一个双链表的机制记录存储的顺序 TreeMap TreeMap跟TreeSet底层原理一样,都是红黑树结构的 由键决定特性:不重复,无索引,可排序 可排序:对键进行排序 TreeMap默认按照间的从小到大进行排序,也可以自己规定的排序规则 代码书写两种排序规则 实现Comparable接口,指定比较原则 创建集合时传递Comparator比较器对象,指定比较规则 可变参数 可变参数本质就是一个数组 作用:在形参中接收多个数据 格式:数据类型 ....参数名称 例int.....a 注意:1.形参列表中可变参数只能有一个 2.可变参数必须放在形参列表的最后面 Collections -java.util.Collections:是集合工具类 作用:Collections不是集合,而是集合工具类 方法说明 public static< T >boolean addAll(Collection< T > c, T.....elements) 批量添加元素 public static voidshuffle(List< ? > list) 打乱LIst集合元素顺序 public static < T > void sort(List< T >list) 排序 public static < T > void sort(List, Comparator< T > c ) 根据指定的规则排序 public static < T > int binarySearch(List< T >,T key) 二分法查元素 public static < T > void copy(List< T >dest,LIst< T > src) 拷贝集合中的元素 public static < T > int fill(List< T >list,T obj) 使用指定的元素填充集合 public static < T > void max/min(Collection< T > coll) 根据自然排序获取最大/小值 public static < T > void swap(List< ? > list,int i,int j) 交换集合中指定位置元素 集合进阶 不可变集合:不可以被改变的集合 特点:定义后不可以修改或添加,删除 如何创建不可变集合 LIst Set和Map集合中,都存在of方法可以创建不可变集合 三种方式的细节 List:直接用 Set:元素不能重复 Map:元素不能重复,键值对数量最多是10个,超过10个用ofEntries方法