知识模块 一.LinkedHashSet类 二.Map体系: 1.Map概述: 2.Map体系常用方法: 3.Map体系两种遍历方式: 4.LinkedHashMap特点 5.集合嵌套 6.Arrays类: 7.泛型限定: 8.Collections类 详细代码点击下方链接去gitte查看 JavaSE: Java基础 一.LinkedHashSet类 LinkHashSet使用: 特点:可以去除重复元素,(去除重复元素的原理和HashSet相同,底层依赖HashCode()与euqals()方法; 可以保证元素的存取顺序一致 二.Map体系: 1.Map概述: Map<K,V>:K代表 key;V代表 value Map体系集合会存储键值对 key = value 学生的学号和姓名 学号 姓名 01 张三 02 李四 03 王五 人的身份证号 身份证号 姓名 **** 张无忌 **** 周芷若 2.Map体系常用方法: HashMap中的方法: key的特点: HashMap保证key唯一,底层原理依然是通过HashCode()方法与equals()方法来保证key的唯一 HashMap中存取的键值对顺序和取出的顺序不一定相同 V put(K key, V value) 将键值对添加到key与map中 返回值: 如果当前添加的key与map中已有的key都不相同,那么这个put方法返回null 如果当前添加的key与map中已有的key重复,此时会将key对应的心智覆盖掉老值,同时返回老值 V get(Object key) 根据key获取value 如果key在当前map不存在,那么返回null int size() 返回的是当前map中键值对的个数 void clear() 清空map中所有的键值对 boolean isEmpty() 如果Map中没有键值对,则返回true,如果有键值对,返回false boolean containsKey(Object key) 判断指定的key在Map中是否存在,如果存在返回true,不存在返回false V remove(Object key) 根据key移除Map中的键值对,返回该key对应的value 如果该key对应的value不存在,返回null 3.Map体系两种遍历方式: a.keySet()遍历: HashMap遍历 由于Map体系没有获取迭代器的方法,所以Map体系不能通过迭代器直接遍历 所以我么考虑将Map体系集合转换成Collection体系集合,就可以使用迭代器 Set<K> keySet() 将Map中所有的key封装到一个Set集合中,然后返回这个Set集合 b.entrySet()遍历方式 HashMap第二种遍历方式 Set<Map.Entry<K,V>> entrySet() Set:代表entrySet()返回一个Set集合 Set<>:代表将来存储到Set集合中元素的类型 Set<Map.Entry>:代表Set集合中存储的元素类型是Map.Entry Set<Map.Entry<K,V>>:代表Set集合中存储的元素类型是Map.Entry,Map.Entry指定了键(Key)和值(Value)的类型 4.LinkedHashMap特点 LinkedHashMap使用 1.LinkedHashMap保证存储的key唯一(唯一原理还是依赖hashCode()方法和equals()方法) 2.LinkedHashMap可以保证key存取顺序一致 5.集合嵌套 集合套嵌:集合套集合 ArrayList<ArrayList> ArrayList<HashSet> HashMap<ArrayList,HashMap> Map套Map 需求: 一班 1001 张三 1002 李四 1003 王五 二班 2003 无忌 2005 乔峰 2007 虚竹 嵌套集合构造数据从内向外构建 嵌套集遍历要从外向内遍历 6.Arrays类: Arrays:一个专门操作的数组工具类,里面定义了大量操作数组方法:对数组排序,对数组二分查找.... static<T> List<T> asList(T...a) asList可以将数组中的元素封装到一个集合中,然后返回这个集合 <T> T[] toArray(T[] a) 将集合中的元素封装到指定数组中,然后返回这个数组 ArrayList类中 ArrayList(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 7.泛型限定: 泛型: 通配符 匹配任意引用类型 泛型限定: 需求: 1.首先定义三个集合,这三个集合分别存储人,学生,老师 2.再定义一个方法,这个方法可以接受这三个集合, 在方法内遍历集合,然后在遍历的过程中调用吃方法 ?extends E: 泛型上限 限制传入的泛型只能为E类型或者E的子类型 ? super E: 泛型下限 限制传入的泛型只能为E类型或者E的父类型 8.Collections类 Collection接口:是单列集合的顶级父接口 Collections类 :专门操作集合的工具类,这个类中大量方法都跟我们的集合相关 static <T> boolean addAll(Collection<? super T> c, T... elements) 将所有指定元素添加到指定 collection 中。 static void reverse(List<?> list) 反转指定列表中元素的顺序。 static void shuffle(List<?> list) 可以随机集合中元素
03-16
1460