栈和队列

List

  • List最大的功能就是里面保存的数据可以存在重复的内容,并且在Collection子接口中List子接口是最常用的一个子接口.
  • 并允许包括null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于
    Vector 类,除了此类是不同步的。)
  • 在List子接口中对Collection接口的功能进行了扩充
扩充的方法:public E get(int index)public E set(E index, E element)public ListIterator<E>listIterator()为ListIterator接口实例化

ArrayList:

ArratList子类是List接口中最常用的子类

  • 底层数据结构是数组,查询快,增删慢
  • 数组长度可变
  • 线程不安全,效率高
  • ArrayList中要适当覆写.equals方法和.tostring方法

构造方法:

ArrayList() 构造一个初始容量为 10 的空列表 ArrayList(int initialCapacity) 避免频繁扩容,指定 ArrayList 的初始容量 ArrayList(Collection c)void ensureCapacity(int minCapacity) 避免频繁扩容,保证ArrayList至少能容纳minCapacity个元素void trimToSize() 缩小底层数组的大小,和实际存储元素的个数一致。建议:当ArrayList的元素不再变化的时候,再使用这个方法。

**

旧的子类:Vector

  • 在JDK1.0时就已提供Vector类,同时由于其提供的较早,此类被大量使用.但是到了JDK1.2由于类集框架的引入,对于整个集合的操作就有了新的标准,为了继续保留Vector类,就让其多实现了List接口.
  • 底层数据结构是数组,查询快,增删慢
  • 数组长度可变
  • 线程安全,效率低
  • 与ArrayList最大的区别在于此类中部分方法使用synchronized关键字申明(同步操作)
Vector 特有的API
public void addElement(E obj)
public E elementAt(int index)
public Enumeration elements()void addElement(E obj)                  --> boolean add(E e)将指定元素添加到此向量的末尾。
void copyInto(Object[] anArray)         --> Object[] toArray()
E elementAt(int index)                  --> E get(int index)
void insertElementAt(E obj, int index)  --> void add(int index, E e)
void removeAllElements()                --> void clear()
boolean removeElement(Object obj)       --> void remove(Object obj)
void removeElementAt(int index)         --> void remove(int index)
void setElementAt(E obj, int index)     --> E set(int index, E e)int capacity()实际能容纳的元素
E firstElement()第一个元素
E lastElement()最后一个元素
int indexOf(Object o, int index)从第index索引开始找,没有返回-1
int lastIndexOf(Object o, int index)Enumeration<E> elements()   -->   Iterator iterator()
Enumeration接口             -->   Iterator接口
boolean hasMoreElements()   -->   boolean hasNext()
E nextElement()             -->   E next()

Phase2 Day3 List相关推荐

  1. 纪中2018暑假培训day3提高a组改题记录(混有部分b组)

    day3 模拟赛,看了看a组题,发现是博弈论,非常开心(因为好玩),于是做的a组.结果差点爆零,死命纠结t1的sg函数,但其实只是一个dp,不用扯到sg函数的那种. t1: Description 被 ...

  2. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  3. Java基础day3

    Java基础day3 Java基础语法 1. switch语句 1.1 switch语句结构 1.2 switch语句练习-春夏秋冬分类 2. for循环 2.1 for循环格式 2.2 for循环练 ...

  4. Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  5. python网络爬虫与信息提取 学习笔记day3

    Day3: 只需两行代码解析html或xml信息    具体代码实现:day3_1    注意BeautifulSoup的B和S需要大写,因为python大小写敏感 import requests r ...

  6. 【视觉项目】【day3】8.22号实验记录(利用canny检测之后的来进行模板匹配)

    [day3]8.22号实验记录(几乎没干正事的一天,利用canny检测之后的来进行模板匹配) 今天没搞代码,主要是问研究生学长工业摄像头的接法的,学长也不知道,明天问问老师... 晚上搞了一下cann ...

  7. Linux运维-day3

    Day3 Georgekai---习惯:操作前备份,操作后检查 虚拟机网络配置与远程连接及其拍错 **1.everything:windows中搜索文件的工具 2.接上次安装完CentOS,开始配置网 ...

  8. 句句真研—每日长难句打卡Day3

    句句真研-每日长难句打卡Day3

  9. Spark Tungsten揭秘 Day3 内存分配和管理内幕

    Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据 ...

  10. week3 day3 迭代器和生成器

    week3 day3 迭代器和生成器 一. 迭代器 1.1 什么是迭代器? 1.2 为何要使用迭代器? 1.3 如何使用迭代器? 1.4 迭代器例子 1.5 for循环的原理 1.6 迭代器的优缺点 ...

最新文章

  1. Python 标准库之 datetime
  2. python神经网络训练数据_用Python从头开始实现一个神经网络
  3. 【Android 逆向】修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )
  4. accelerated C++ 第0章
  5. 管理心得之学术,交通,作息,心态
  6. const 常量_软件特攻队|const常量,不一样的新玩法
  7. php 设计五子棋游戏,基于js+canvas实现五子棋小游戏
  8. node-red教程2 第一条数据流
  9. 安卓.点击头像--编辑个人姓名--提交后.同时调用js关闭页面--返回上一层
  10. kernelbasedll下载_kernel32.dll
  11. 我的Java设计模式-原型模式
  12. Thunar 右键菜单等自定义
  13. Java 按行读写文件(解决中文乱码)
  14. 并发编程 07—— 任务取消
  15. struts2中,在使用 convention 插件的情况下,如何使用 “chain” 这个resu
  16. 计算机网络基础大学教材,计算机网络基础(高等院校信息技术应用型规划教材)...
  17. 8-思科防火墙:Cisco ASA uRPF运用
  18. java实现敏感词汇判断
  19. java中412是什么错_412错误是什么 412错误怎么解决
  20. 博客园编辑器为Markdown时改变图片大小

热门文章

  1. 【eNSP】入门介绍(很详细)
  2. DCMTK findscu 查询信息
  3. 如何进行ERP、CRM实施时的流程梳理?
  4. 2023王道C语言训练营(线索二叉树)
  5. oracle密码过期处理方法
  6. 超级好用的画图吸色工具FastSton Capture
  7. 编译原理考试知识点总结
  8. 前沿重器[22] | 聊聊对话系统:技术架构
  9. django实现下载功能
  10. access课程均不及格_Access 应用基础—查询设计