Phase2 Day3 List
栈和队列
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相关推荐
- 纪中2018暑假培训day3提高a组改题记录(混有部分b组)
day3 模拟赛,看了看a组题,发现是博弈论,非常开心(因为好玩),于是做的a组.结果差点爆零,死命纠结t1的sg函数,但其实只是一个dp,不用扯到sg函数的那种. t1: Description 被 ...
- Python学习记录day3
2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...
- Java基础day3
Java基础day3 Java基础语法 1. switch语句 1.1 switch语句结构 1.2 switch语句练习-春夏秋冬分类 2. for循环 2.1 for循环格式 2.2 for循环练 ...
- Java-GUI编程实战之管理系统 Day3【学生管理系统GUI设计、学生管理系统增删改查、项目MVC结构介绍、Java技能图谱】
视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...
- python网络爬虫与信息提取 学习笔记day3
Day3: 只需两行代码解析html或xml信息 具体代码实现:day3_1 注意BeautifulSoup的B和S需要大写,因为python大小写敏感 import requests r ...
- 【视觉项目】【day3】8.22号实验记录(利用canny检测之后的来进行模板匹配)
[day3]8.22号实验记录(几乎没干正事的一天,利用canny检测之后的来进行模板匹配) 今天没搞代码,主要是问研究生学长工业摄像头的接法的,学长也不知道,明天问问老师... 晚上搞了一下cann ...
- Linux运维-day3
Day3 Georgekai---习惯:操作前备份,操作后检查 虚拟机网络配置与远程连接及其拍错 **1.everything:windows中搜索文件的工具 2.接上次安装完CentOS,开始配置网 ...
- 句句真研—每日长难句打卡Day3
句句真研-每日长难句打卡Day3
- Spark Tungsten揭秘 Day3 内存分配和管理内幕
Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据 ...
- week3 day3 迭代器和生成器
week3 day3 迭代器和生成器 一. 迭代器 1.1 什么是迭代器? 1.2 为何要使用迭代器? 1.3 如何使用迭代器? 1.4 迭代器例子 1.5 for循环的原理 1.6 迭代器的优缺点 ...
最新文章
- Python 标准库之 datetime
- python神经网络训练数据_用Python从头开始实现一个神经网络
- 【Android 逆向】修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )
- accelerated C++ 第0章
- 管理心得之学术,交通,作息,心态
- const 常量_软件特攻队|const常量,不一样的新玩法
- php 设计五子棋游戏,基于js+canvas实现五子棋小游戏
- node-red教程2 第一条数据流
- 安卓.点击头像--编辑个人姓名--提交后.同时调用js关闭页面--返回上一层
- kernelbasedll下载_kernel32.dll
- 我的Java设计模式-原型模式
- Thunar 右键菜单等自定义
- Java 按行读写文件(解决中文乱码)
- 并发编程 07—— 任务取消
- struts2中,在使用 convention 插件的情况下,如何使用 “chain” 这个resu
- 计算机网络基础大学教材,计算机网络基础(高等院校信息技术应用型规划教材)...
- 8-思科防火墙:Cisco ASA uRPF运用
- java实现敏感词汇判断
- java中412是什么错_412错误是什么 412错误怎么解决
- 博客园编辑器为Markdown时改变图片大小