2021-11-16数据结构
1.栈和队列
2.数组
3.链表
双向链表既能指向下一个元素,也能指向上一个元素。
4.红黑树
查询速度非常快。
5、List集合
list的特点:
(1)有序的集合,存储元素和取出元素的顺序是一致的(存储123,取出123)
(2)有索引,包含了一些带索引的方法
(3)允许存储重复的元素。
java.util.list接口 extends Collection接口
List接口中带索引的方法(特有)
public void add(int index, E element):将指定的元素,添加到该集合中指定的位置上
public E get(int index) :返回集合中指定位置的元素
public E remove(int index): 移除列表中指定位置的元素,返回的是被移除的元素。
public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值是被替换的元素。
注意:
操作索引的时候,一定要防止索引越界异常
IndexOutOfBoundException:索引越界异常,集合会报
ArrayIndexOutOfBoundException:数组索引越界异常
StringIndexOutOfBoundsException:字符串索引越界异常
6.ArrayList
底层是一个数组的结构,查询快,但是增删慢。多线程,查询快
7.linkedList
Demo01LinkedList.java
package LinkedList;import java.util.LinkedList;
import java.util.List;/*
* java.util.LinkedList集合 implements List接口
* LinkedList集合的特点:
* 1.底层是一个链表结构:查询慢,增删快
* 2.里面包含了大量操作首尾元素的方法
* 注意:使用LinkedList集合特有的方法,不能使用多态。
* -public void addFirst(E e) :将指定元素插入此列表的开头。
* -public void addLast(E e):将指定元素添加到此列表的结尾。
* -public void push(E e):将元素推入此列表所表示的堆栈。
*
* -public E getFirst():返回此列表的第一个元素。
* -public E getLast():返回此列表的最后一个元素。
*
* -public E removeFirst():移除并返回此列表的第一个元素。
* -public E removeLast():移除并返回此列表的最后一个元素。
* -public E pop():从此列表所表示的堆栈处弹出一个元素。
*
* -public boolean isEmpty():如果列表中不包含元素,则返回true
* */
public class Demo01LinkedList {public static void main(String[] args) {/** public void addFirst(E e) :将指定元素插入此列表的开头。=push* -public void addLast(E e):将指定元素添加到此列表的结尾。=add* -public void push(E e):将元素推入此列表所表示的堆栈。* *///创建的时候不能用多态LinkedList<String> linked = new LinkedList<>();linked.add("a");linked.add("b");linked.add("c");System.out.println(linked);//[a, b, c]linked.addFirst("d");System.out.println(linked);//[d, a, b, c]linked.addLast("e");System.out.println(linked);//[d, a, b, c, e]linked.push("f");System.out.println(linked);//[f, d, a, b, c, e]/** -public E getFirst():返回此列表的第一个元素。* -public E getLast():返回此列表的最后一个元素。* */System.out.println(linked.getFirst());//fSystem.out.println(linked.getLast());//e/** * -public E removeFirst():移除并返回此列表的第一个元素。* -public E removeLast():移除并返回此列表的最后一个元素。* -public E pop():从此列表所表示的堆栈处弹出一个元素。* */System.out.println(linked.removeFirst());//fSystem.out.println(linked.removeLast());//eSystem.out.println(linked);//[d, a, b, c]System.out.println(linked.pop());//dSystem.out.println(linked.isEmpty());//false}
}
8.Vector
同步,单线程,速度慢
2021-11-16数据结构相关推荐
- 2021.11.16【读书笔记】丨宏基因组分析流程
本次笔记为美格基因宏基因组课程笔记 目录 1. quality control 2. Reads-based分析 2.1 物种分类鉴定 2.2 揭示物种多样性 2.3 功能分类鉴定 2.4 数据库和比 ...
- 函数(2)——4.兔子数列5.汉诺塔6.综合案例-RSA算法7.综合案例-体测成绩判定2021.11.16
4.兔子数列(斐波那契数列) 一对兔子在出生两个月后,每个月能生出一对小兔子.现有一对刚出生的兔子,如果所有兔子都不死,那么一年后共有多少对兔子? 分析 n=1,兔子=1对: n=2,兔子=1对: n ...
- 2021/11/16 定时器Timer和cron表达式
定时器java.util.Timer 这个Timer类里有一个很关键的方法,这里period单位是ms schedule(TimerTask task,Date firstTime,long peri ...
- 实战:批量重启物理机或批量从pxe启动-ipmi命令(测试成功-工作实战)-2021.11.16
实验环境 win10 物理服务器 实验软件 链接:https://pan.baidu.com/s/1nGuT4rqXIxSCLoxA5dj_zg 提取码:hhcj –来自百度网盘超级会员V6的分享 1 ...
- 2021.11.16
今天学了如何定义一个函数并且使用这个函数. 7-36 输出整数各位数字 (15 分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字. 输入格式: 输入在一行中给出一个长整型 ...
- 学会自爱才是过好这一生的前提 2021.11.16日下午4点
"只有你,才能决定你是谁,与其等别人来爱你,不如学着努力多爱自己一些." 像我这样的人,除了亲人,也从未被任何人爱过,从少年懵懵懂懂的时候,就期待能收获一份爱情,数十年过去了,仍旧 ...
- 2021.11.16 孤尽训练营D22——单元测试与系统安全规约
认识单元测试 单元测试是对软件组成单元进行的测试.其目的时检验软件基本组成单位的正确性.测试对象时软件设计的最小单元:模块,又称为模块测试. 单元测试的AIR原则 A:自动化地关闭.开启单元测试 I: ...
- 动力节点数据结构课堂笔记 2021.11.23-11.29
1.数据结构的分类:链表,数组,二叉树,图,栈,队列 线性结构:有序数据元素,线性表,数组,栈,队列,链表 非线性结构:树,图,二维数组 2.栈的特点,先进后出,只允许在栈顶进行插入(push)和删除 ...
- 首页推荐流支持快捷修改兴趣标签,问答支持展示gif【2021.11.8】
hello,大家好,这里是「CSDN产品周报」第17期.本次更新主要涉及首页和问答两个产品模块,具体细节请往下看. 一.首页优化 1.「推荐」信息流新增「修改兴趣标签」按钮 从用户需求的角度考虑,对内 ...
- 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验
篇章一:行业经验 不同的AI公司,对于AI产品的场景定位不同. 有的公司是面向C端产品.有的公司专门做B端用户. 当然大白所在的公司,也有具体的定位,主要面向智慧金融.智慧机场.智慧城市. 之前,一直 ...
最新文章
- linux怎样自动检查link文件_自动共享和上传文件到兼容的托管站点 | Linux 中国
- php用什么工具调试代码,详细介绍利用开源的DebugBar工具调试PHP代码(图文)
- 被误解的MVC和被神化的MVVM
- CodeForces - 1366D Two Divisors(数论)
- 使用arthas排查cpu飙高问题
- “3D几何与视觉技术”全球在线研讨会第九期~识别3D中的物体和场景
- tracker服务器列表2020_个人服务器采购整理分享
- java收费站开发流程,TLQ安装说明
- ps怎么对比原图快捷键_用Photoshop调出图片冷暖色对比
- 考研操作系统【1.5 操作系统引导与虚拟机】
- 软件测试用例设计时的颗粒度
- 四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)
- 零知识证明 - 从QSP到QAP
- 牛客小白月赛61_C-小喵觅食题解
- phpstudy mysql端口_PHP集成环境phpstudy启动时80或者3306端口占用解决办法
- USB-PD快充和QC快充的区别
- 上海市房管局局长否认房产税试点政策失败
- 转 GitHub上史上最全的Android开源项目分类汇总
- 4 (opnet XY路由实现)flit重组为包
- pointer和reference(指针和引用)的区别:*
热门文章
- floatingactionbutton 更改背景颜色_经验分享!Word轻松换掉证件照背景颜色
- xp系统中的隐藏文件不能显示 解决方案
- 如何在Windows7下删除Ubuntu开机引导项
- crtsiii型无砟轨道板_为什么高铁轨道不像普快列车轨道那样铺碎石?
- 2019-11-18 惯性环节对脉冲的响应曲线怎么画是正确的
- 牛客训练四:Applese 涂颜色(费马小定理+快速幂)
- 人脸情绪识别系统第一次迭代总结
- 我仅仅想安安静静的做一个编程的美男子
- Web系统开发构架再思考-前后端的完全分离
- hello,world———C++入门有感