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数据结构相关推荐

  1. 2021.11.16【读书笔记】丨宏基因组分析流程

    本次笔记为美格基因宏基因组课程笔记 目录 1. quality control 2. Reads-based分析 2.1 物种分类鉴定 2.2 揭示物种多样性 2.3 功能分类鉴定 2.4 数据库和比 ...

  2. 函数(2)——4.兔子数列5.汉诺塔6.综合案例-RSA算法7.综合案例-体测成绩判定2021.11.16

    4.兔子数列(斐波那契数列) 一对兔子在出生两个月后,每个月能生出一对小兔子.现有一对刚出生的兔子,如果所有兔子都不死,那么一年后共有多少对兔子? 分析 n=1,兔子=1对: n=2,兔子=1对: n ...

  3. 2021/11/16 定时器Timer和cron表达式

    定时器java.util.Timer 这个Timer类里有一个很关键的方法,这里period单位是ms schedule(TimerTask task,Date firstTime,long peri ...

  4. 实战:批量重启物理机或批量从pxe启动-ipmi命令(测试成功-工作实战)-2021.11.16

    实验环境 win10 物理服务器 实验软件 链接:https://pan.baidu.com/s/1nGuT4rqXIxSCLoxA5dj_zg 提取码:hhcj –来自百度网盘超级会员V6的分享 1 ...

  5. 2021.11.16

    今天学了如何定义一个函数并且使用这个函数. 7-36 输出整数各位数字 (15 分) 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字. 输入格式: 输入在一行中给出一个长整型 ...

  6. 学会自爱才是过好这一生的前提 2021.11.16日下午4点

    "只有你,才能决定你是谁,与其等别人来爱你,不如学着努力多爱自己一些." 像我这样的人,除了亲人,也从未被任何人爱过,从少年懵懵懂懂的时候,就期待能收获一份爱情,数十年过去了,仍旧 ...

  7. 2021.11.16 孤尽训练营D22——单元测试与系统安全规约

    认识单元测试 单元测试是对软件组成单元进行的测试.其目的时检验软件基本组成单位的正确性.测试对象时软件设计的最小单元:模块,又称为模块测试. 单元测试的AIR原则 A:自动化地关闭.开启单元测试 I: ...

  8. 动力节点数据结构课堂笔记 2021.11.23-11.29

    1.数据结构的分类:链表,数组,二叉树,图,栈,队列 线性结构:有序数据元素,线性表,数组,栈,队列,链表 非线性结构:树,图,二维数组 2.栈的特点,先进后出,只允许在栈顶进行插入(push)和删除 ...

  9. 首页推荐流支持快捷修改兴趣标签,问答支持展示gif【2021.11.8】

    hello,大家好,这里是「CSDN产品周报」第17期.本次更新主要涉及首页和问答两个产品模块,具体细节请往下看. 一.首页优化 1.「推荐」信息流新增「修改兴趣标签」按钮 从用户需求的角度考虑,对内 ...

  10. 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验

    篇章一:行业经验 不同的AI公司,对于AI产品的场景定位不同. 有的公司是面向C端产品.有的公司专门做B端用户. 当然大白所在的公司,也有具体的定位,主要面向智慧金融.智慧机场.智慧城市. 之前,一直 ...

最新文章

  1. linux怎样自动检查link文件_自动共享和上传文件到兼容的托管站点 | Linux 中国
  2. php用什么工具调试代码,详细介绍利用开源的DebugBar工具调试PHP代码(图文)
  3. 被误解的MVC和被神化的MVVM
  4. CodeForces - 1366D Two Divisors(数论)
  5. 使用arthas排查cpu飙高问题
  6. “3D几何与视觉技术”全球在线研讨会第九期~识别3D中的物体和场景
  7. tracker服务器列表2020_个人服务器采购整理分享
  8. java收费站开发流程,TLQ安装说明
  9. ps怎么对比原图快捷键_用Photoshop调出图片冷暖色对比
  10. 考研操作系统【1.5 操作系统引导与虚拟机】
  11. 软件测试用例设计时的颗粒度
  12. 四种方法获取可执行程序的文件路径(.NET Core / .NET Framework)
  13. 零知识证明 - 从QSP到QAP
  14. 牛客小白月赛61_C-小喵觅食题解
  15. phpstudy mysql端口_PHP集成环境phpstudy启动时80或者3306端口占用解决办法
  16. USB-PD快充和QC快充的区别
  17. 上海市房管局局长否认房产税试点政策失败
  18. 转 GitHub上史上最全的Android开源项目分类汇总
  19. 4 (opnet XY路由实现)flit重组为包
  20. pointer和reference(指针和引用)的区别:*

热门文章

  1. floatingactionbutton 更改背景颜色_经验分享!Word轻松换掉证件照背景颜色
  2. xp系统中的隐藏文件不能显示 解决方案
  3. 如何在Windows7下删除Ubuntu开机引导项
  4. crtsiii型无砟轨道板_为什么高铁轨道不像普快列车轨道那样铺碎石?
  5. 2019-11-18 惯性环节对脉冲的响应曲线怎么画是正确的
  6. 牛客训练四:Applese 涂颜色(费马小定理+快速幂)
  7. 人脸情绪识别系统第一次迭代总结
  8. 我仅仅想安安静静的做一个编程的美男子
  9. Web系统开发构架再思考-前后端的完全分离
  10. hello,world———C++入门有感