| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> OOP01-08(List+Set+Map+增强for+并发修改异常+集合嵌套+集合自定义对象判断) -> 正文阅读 |
|
[数据结构与算法]OOP01-08(List+Set+Map+增强for+并发修改异常+集合嵌套+集合自定义对象判断) |
目录 集合概述集合:用来保存相同类型数据的容器,除了保存数据,又集成了较多强大功能 我们会在下边的学习过程中,逐个学习以下集合:ArrayList、LinkedList、HashSet、HashMap。 ArrayListArrayList回顾ArrayList是开发中最常用的集合 boolean add(元素类型 e)?????????向集合添加元素 boolean add(int index,元素类型 e)????????向指定索引位置添加元素, int size()????????获取集合长度 元素类型 get(int index)????????根据指定索引获取集合元素,索引号从0开始 元素类型 remove(int index)????????删除某个索引的元素 增强for循环????????实际开发中,由于迭代器操作繁琐,所以最常使用的是foreach循环(又叫增强for循环)来完成元素的获取,增强for循环是完成集合迭代的简化方式 并发修改异常并发就是同时的意思,好比是一个小门,一个人进门一个人出门,那么他们进出门的行为就是同时进行,我们称为并发。 解决方案: LinkedListLinkedList叫做链表 void addFirst(E e)????????向链表的开头插入一个元素,相当于list.add(0,e) void addLast(E e)????????向链表的尾部插入一个元素,相当于list.add(list.size(),e) E getFirst()????????从链表中获取第一个元素 E getLast()????????从链表中获取最后一个元素 E removeFirst()????????移除链表中的第一个元素,并返回移除的元素 E removeLast()????????移除链表中的最后一个元素,并返回移除的元素 总结: Vector简介(了解)我们可以将其理解为版本旧的,安全的,效率低的ArrayList Vector 中提供了一个独特的取出方式,返回 Enumeration。此接口 Enumeration 的功能与 Iterator 接口的功能是类似的。 Vector的方法名void addElement(E e)????????添加元素,相当于list.add(...) Enumeration<E> elements()????????获取便利对象Enumeration,相当于迭代器Iterator Enumeration的方法名boolean hasMoreElements()????????判断是否有下一个元素,相当于it.hasNext() E nextElement()????????取下一个元素 子主题 1 HashSetHashSet集合不能存放重复元素 int size()????????返回集合中元素的个数 boolean isEmpty()????????判断集合是否为空 boolean add(E e)????????向集合中添加元素 boolean remove(Object o)????????将指定对象从集合中移除 void cleat()????????清空集合中所有成员 MapMap概念Map集合叫做双列集合,没个元素都由“键”,“值”两部分组成 HashMap基本使用HashMap 和 HashSet一样,是无序的(展示顺序和存放顺序可能不同) put( K key,V value)????????向集合中添加数据 get(Object Key)????????通过指定键 Key 获得值 value remove(Object Key)????????移除指定 Key 对应的键值,并返回值 clear()????????清空集合 size()????????集合中键值的个数 isEmpty????????集合是否为空 HashMap遍历KeySet()以 Set 集合的方式获取所有键 Key keySet():【快捷键:变量名.keySet().for】 entrySet()以 Set 集合的方式获得所有的键值对(Entry 对象) 方式二:entrySet():【快捷键:变量名.entrySet().for】 LinkedHashMapLinkedHashMap 是有序 Map 集合 是在 HashMap 的基础上添加了链表结构,通过链表结构可以保证元素的存取顺序一致; Hashtable(了解)Hashtable 也是 Map 集合的一种已被 HashMap 取代,在很早的传统项目中会大量见到。其与 HashMap最大的不同: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 18:42:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |