第二章:聚集 【开辟应用重点+考试重点+口试重点->底层】

[复制链接]
发表于 2025-12-5 02:01:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、明白 1. 概念:一种操纵便利的对象容器,存储多个对象,多数情况下可更换数组。 2. 位置:全部聚集的接口和相干实现类都是位于 java.util 包中 3. 学习聚集从一下几个内容举行:(1) 聚集的特点 (2) 聚集的常用方法 (3) 聚集的实现类 (4) 聚集的遍历4. 聚集的分类:(1) Collection聚集体系 -> List聚集 -> Set聚集 (2) Map聚集体系 -> Map聚集
二、Collection聚集体系 1. 父接口:Collection(1) Collection接口的特点:存储多个对象,即存储数据范例Object (2) 方法: boolean add(Object obj) : 添加一个对象 【重点】 int size() :返回此聚集中的元素个数 【重点】 boolean contains(Object o) : 查抄此聚集中是否包罗o对象 boolean remove(Object o) :在此聚集中移除o对象 void clear() :清空此聚集中的全部对象。 boolean isEmpty() :判断此聚集是否为空 (3) 实现类:具体看子接口 (4) 遍历:具体看子接口2. 子接口:List(1) List接口的特点:存储Object范例的对象,有序、有下标,元素可以重复(下标从0开始,依次为1、2、...) (2) 方法:List是Collection的子接口,以是Collection接口中界说的方法List都可以使用,同时自身也界说 了一些方法 Object get(int index) //返回聚集中指定位置的元素 【重点】 Object remove(int index) //移除index位置上的元素 Object set(int index, Object element) //更换index位置上的元素 (3) 实现类:ArrayList (4) 遍历: a. 下标遍历: // 控制聚集的下标:从0开始,到 size-1 for(int i=0;i<list.size();i++){ // 根据下标获取对应数据:get System.out.println(list.get(i)); } b. forEach遍历: for(泛型范例 变量名 : 聚集名){ // 使用变量名操纵聚集元素} (5) 泛型聚集:逼迫束缚聚集中的元素范例同一 ArrayList<数据范例> 聚集名 = new ArrayList<数据范例>(); ArrayList<数据范例> 聚集名 = new ArrayList<>(); -->数据范例可以省,<>生存 注意:<>前后的数据范例必须同一; 根本数据范例的泛型须要使用对应的包装范例 (6) 差异实现类区别: ArrayList: 底层用数组实现,查询快,增删慢 JDK1.2提供,线程不安全,并发服从高。 Vector: 底层用数组实现,查询快,增删慢 JDK1.0提供,线程安全,并发服从低。 LinkedList: 底层用链表实现,查询慢,增删快 JDK1.2提供,线程不安全,并发服从快。3. 子接口:Set(1) 特点:存储多个Object范例的对象,无序、无下标、元素不可以重复(内容不允许重复) (2) 方法:继承于 父接口 Collection (3) 实现类:HashSet 注意:为了包管存储在HashSet聚集中对象内容不重复,须要覆盖 equals和 hashCode方法 LinkedHashSet:存储多个Object范例的对象,按照添加序次举行存储、无下标、元素不可以重复(内容不允 许重复) (4) 遍历方式: forEach遍历: for(泛型范例 变量名 : 聚集名){ // 使用变量名操纵聚集元素 }三、Map聚集体系 1. 特点:用于存储恣意键值对(Key-Value);键(key):无序、无下标、不允许重复(唯一) ; 值(value):无序、无下 标、允许重复 2. 常见的方法V put(K key,V value):往Map中存储一个键值对,假如key在map中已经存在,则新值覆盖旧值; 假如key在map中不存在,则直接存储,返回值为null。 V remove(K key):根据键删除聚集中对应的键值对,返回被删除的value。 V get(K key):根据key查询对应的value。 int size():获取聚集中键值对的数量 boolean containsKey(K key):判断map聚集中是否包罗key的键,返回true/false. boolean containsValue(V value):判断map聚集中是否包罗value的值,返回true/false3. 常见的实现类:HashMap4. 遍历方式:// 1. 获取map中全部的键 Set<String> ks = map.keySet(); // 使用 forEach遍历 Set 聚集,获取每个键 for(String s:ks){ // 通过键 获取 对应的值:get System.out.println(s+"-"+map.get(s)); } System.out.println("-------值遍历-----相识----"); // 2.获取 map聚集中全部值 Collection<String> cs=map.values(); // 使用 forEach遍历 聚集获取每个值 for(String c:cs){ System.out.println(c); } System.out.println("------键值对-----------"); // 3. 获取map聚集中全部的键值对 Set<Map.Entry<String,String>> ks22=map.entrySet(); // 通过 遍历 聚集 获取每个键值对 for(Map.Entry<String,String> keyValue:ks22){ // 获取 键 String key=keyValue.getKey(); // 获取 值 String value=keyValue.getValue(); System.out.println(key+"------"+value); }5. Map其他的实现类HashMap【重点】:JDK1.2版本,线程不安全,运行服从快 ;允许用null 作为key或是value。 LinkedHashMap:HashMap的子类,按照元素添加的序次举行存储。 Hashtable :JDK1.0版本,线程安全,并发服从慢;不允许null作为key或是value。 Properties :Hashtable的子类,要求key和value都是String。通常用于设置文件的读取。 TreeMap :实现了SortedMap接口(是Map的子接口),可以对key主动排序。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表