数组概述初始化使用

Just_Esme

关注

阅读 66

2022-03-30

数组

欢迎打开这篇文章

你好! 这是你第一次了解 数组 所展示的欢迎页。如果你想学习如何使用数组, 可以仔细阅读这篇文章,了解一下基本语法知识。

1,数组概述

数组概述:一次性声明大量的用于存储数据的变量
要存储的数据通常都是同类型数据,例如:考试成绩

数组:是一种用于存储多个相同类型数据的存储模型
数组初始化概述:Java中的数组必须初始化,然后才能使用

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

在这里插入图片描述

在这里插入图片描述


2,数组元素访问

在这里插入图片描述


3,Java中内存分配

在这里插入图片描述

在这里插入图片描述


4,集合

在这里插入图片描述
Collection集合概述

<ul>
<li>是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素</li>
<li>JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现</li>
</ul>
<ul>
<li>多态的方式</li>
<li>具体的实体类ArrayList</li>
</ul>

在这里插入图片描述

5,并发修改异常

并发修改异常:ConcurrentModificationException

产生原因:迭代器遍历的过程中,通过集合对象修改了集合中的元素,造成了迭代器获取元素中判断预期修改值和实际修改值不一-致

解决方案:用for循环遍历,然后用集合对象做对应的操作即可

hasNext()向前方遍历是否有更多元素,有则返回true

hasPrevious()相反方向遍历是否含有更多元素,有则返回true

next()判断是否含有下一个元素,并且前景光标位置

Previous判断是否列表上一个元素

6,Listlterator

Listlterator:列表迭代器
<ul>
<li>通过List集合的listlterator()方法得到,所以说它是List集合特有的迭代器</li>
<li>用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置</li>
</ul>

Listlterator中的常用方法
<li>E next():返回迭代中的下一个元素</li>
<li>boolean hashNext():如果迭代具有更多元素,则返回true</li>
<li>E previous():返回列表中的上一个元素</li>
<li>boolean hashPrevious():如果此列表迭代器在相反方向遍历列表时具有更多元素,则返回true</li>
<li>void add(E e):将指定的元素插入列表</li>

这样就不会产生并发修改问题
在这里插入图片描述

在这里插入图片描述

增强for:简化数组和Collection集合的遍历
<ul>
<li>实现Iterable接口的类允许其对象成为增强型for语句的目标</li>
<li>它时JDK5之后出现的,其内容原理是一个Iterator迭代器</li>
</ul>

增强for的格式
<ul><li>格式:
for(元素数据类型 变量名:数组或者Collection集合){
//在此处使用变量即可,该变量就是元素
}
</li>
<li>范例:
int [] arr = {1,2,3,4,5};
for(int i:arr){
System.out.println(i);
}
</li>

增强for格式内部是迭代器可以用
//内部原理是一个Iterator迭代器

for(String s:list){
if(s.equals("world")){
list.add("javaee");//concurrentModificationException
}
}
</ul>

7,数据结构

常见的数据结构:栈
上方叫栈顶 下方叫栈底
数据进入栈模型过程叫压/进栈
数据离开栈模型过程叫弹/出栈
进入顺序ABCD 出栈顺序DCBA
栈先进后出模型

队列:入队列方向-后端-前端-出队列方向(出入都ABCD)
数据从后端进入队列模型的过程叫入队列
数据从前端离开队列模型的过程叫出队列
队列是一种先进先出的模型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
链表是一种增删快的模型(对比数组)
是一种查询慢的模型(对比数组)
List集合常用子类:ArrayList,LinkedList
LinkedList链表:查询慢增删快
ArrayList数组:查询快增删慢

Set集合:
没有重复元素的集合
没有带索引的方法,不能使用普通for循环遍历
hashSet集合的迭代顺序不作任何保证
不包含重复元素
哈希表:不是对象的地址值,int类型的值(是JDK根据对象的地址或字符串或者数字算出来的int类型的数值)
Object有个方法可以获取对象的哈希值
public int hashCode():返回对象的哈希码值
在这里插入图片描述
hashSet集合存储学生对象并遍历
在学生类中重写两个方法hashCode() equals()
LinkedHashSet集合特点
在这里插入图片描述
在这里插入图片描述

比较器排序与自然排序区别
比较器事在类中完成
自然排序则是在对象类中完成

在这里插入图片描述

8,总结

好好学好Java基础,冲冲冲!!!

精彩评论(0)

0 0 举报