数据结构
首先,我们来了解一下什么是数据结构?为什么要学习数据结构?
一、什么是数据结构?
1、是一门基础学科
2、它研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据和修改数据
3、数据结构可以分为三类:
- 线性结构:数组、队列、栈、链表、哈希表…
- 树形结构:二叉树、二分搜索树、AVL树、红黑树、堆、Trie树、线段树、并查集…
- 图结构:邻接矩阵、邻接表
4、为什么要学习数据结构?
根据不同的应用,灵活选择最合适的数据结构
数据结构+算法=程序
5、使用环境
IDEA、JDK8+
二、接下来进入我们数据结构的第一个内容——数组
首先让我们回顾一下Java数组的使用
public static void main(String[] args) {
/**
* 数组的概念
* 数组:是用来存储一组**相同类型**的数
* Java中数组的定义:
* 数组类型[] 数组名
* 初始化数组:1、数据类型[] 数组名 = new 数据类型[数组长度];
* 2、数组类型[] 数组名 = {和数组类型同类型的数}
* 代码的限制:在方法函数中,有长度限制,
* 圈复杂度:嵌套不能超过6层
*/
//遍历数组
String[] str ={
"chi","he","wan","shui"};
/*一般情况下是for循环遍历*/
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
/*用流优化数组遍历*/
//将数组转成流 遍历数组
Arrays.stream(str).forEach(System.out::println);//第一种方法
Arrays.stream(str).forEach(item->System.out.println(item));//第二种方法
}
public static void main(String[] args) {
/*数组的使用*/
String[] fruits = {
"apple", "banana", "pear", "watermelon", "Pineapple"};
/*for循环
for (int i = 0; i < fruits.length; i++) {
System.out.println(fruits[i]);
}*/
// 使用流遍历,先将数组转成流Arrays.stream(数组名)再用forEach()进行遍历
Arrays.stream(fruits).forEach(System.out::println);
// ->箭头函数
Arrays.stream(fruits).forEach(item -> System.out.println(item));
/*创建一个数组就得开辟空间*/
int[] num = new int[100];
// 1、对每个数据+10
// 2、过滤奇数
/*生成一个随机数*/
Random random = new Random();
for (int i = 0; i <