JavaSE 高级总结
2022/2/20 20:32:14
本文主要是介绍JavaSE 高级总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 集合
- 概述
- 单列集合体系结构
- 单列集合
- Collection
- 迭代器 Iterator
- 增强for循环
- 包装类
- List接口
集合
概述
用来存数据的容器
长度可变>取代数组的原因
只能存对象
集合只能临时存储数据不能永久存储
单列集合 Collection 双列集合Map
单列集合体系结构
单列集合
Collection
创建Collection<E>集合对象 Collection<E> 集合名 = new 具体的实现类对象<E>(); 例如 : Collection<E> 集合名 = new ArrayList<E>(); Collection<E> 集合名 = new HashSet<E>(); *boolean add(E e) : 添加元素,返回添加是否成功 删 : *boolean remove(Object o) : 删除集合中指定元素,返回删除是否成功 -> 按元素值来删 void clear() : 清空集合中所有的元素 改 : Collection因为没有索引所以没有set方法 查 : Collection因为没有索引所以没有get方法 boolean contains(Object o) : 查询传入元素是否包含于集合中 boolean isEmpty() : 查询集合是否为空集合 * int size() : 查询集合中的元素个数/查询集合的长度
遍历方式:
1. 转数组
Object[] toArray()
2. 迭代器 -> 面向对象的遍历方式
Iterator iterator()
3. 增强for循环 (能用迭代器遍历的一定能用增强for)
迭代器 Iterator
boolean hasNext(): 查看容器中是否有下一个元素,如果有返回true E next() : 拿到容器中的下一个元素 迭代器的使用步骤: 1. 获取迭代器对象 : Iterator<E> it = 单列集合对象.iterator(); 2. 循环操作 : 判断集合中是否有下一个元素 3. 如果有,拿到集合的这个元素; 以此往复,直到集合元素全部获取完毕 ConcurrentModificationException:并发修改异常 此异常只在迭代器中发生,触发的条件: 当使用迭代器对象遍历集合的时候,使用集合对象对原集合进行增删改操作都会出这个异常 解决方案: 1. 不修改 2. 使用列表迭代器(ListIterator)对象进行修改 触发时机 : 只要创建了迭代器对象,就不可以使用集合对象修改集合中的元素的内容!!
增强for循环
格式:
// : 后面 -> 要遍历的容器
// : 前面 -> 接收容器数据的变量
for(容器元素类型 变量名:集合对象/数组对象){
//对变量名进行操作 -> 变量接收的就是容器中的元素
}
底层: 增强for循环的底层是一个看不见的迭代器在操作
增强for只用来遍历集合/数组,不在在增强for循环中修改集合内容!!(不要再增强for中写复杂代码)
包装类
byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
包装类型有特性:
自动装箱 : 基本数据类型->引用数据类型
Integer i = 100;//Integer i = Integer.valueOf(100);
自动拆箱 : 引用数据类型->基本数据类型
int num = i;//int num = i.intValue();
List接口
List<E>接口 : 存取有序 , 元素有索引 , 元素能重复 创建List<E>集合对象 List<E>集合名 = new 具体的实现类对象<E>(); 例如 : List<E> 集合名 = new ArrayList<E>(); List<E> 集合名 = new HashSet<E>(); 错误 增删改查: //List接口中新增关于索引操作的方法 增 : *boolean add(E e) : 依次添加元素,永远返回true *void add(int index, E element) : 插入-> 在指定索引位置插入元素 删 : *boolean remove(Object o) : 删除集合中指定元素,返回删除是否成功 -> 按元素值来删 void clear() : 清空集合中所有的元素 *E remove(int index) : 按照 索引删除指定索引位置的元素,并返回被删除的元素 改 : E set(int index,E newElement): 修改指定索引位置的元素并返回被修改的元素 查 : * E get(int index) : 获取指定索引位置的元素 boolean contains(Object o) : 查询传入元素是否包含于集合中 boolean isEmpty() : 查询集合是否为空集合 * int size() : 查询集合中的元素个数/查询集合的长度 int indexOf(Object o) : 获取传入的元素o第一次出现在集合的索引位置 int lastIndexOf(Object o) : 获取传入的元素o最后一次出现在集合的索引位置 遍历方式: 1. 转数组 Object[] toArray() 2. 迭代器 -> 面向对象的遍历方式 Iterator<E> iterator() 3. 增强for循环 (能用迭代器遍历的一定能用增强for) 4. 普通for循环 for循环 和 get(int index) 和 size() 5. 列表迭代器 ListIterator ListIterator<E> listIterator()
这篇关于JavaSE 高级总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程