Java学习笔记十二--集合(三)
第一节课
返回值 方法名 作用 void add(index,elemnet) 在指定的索引处添加元素 object get(index) 返回指定索引处的元素 int indexOf(object) 元素第一次出现的位置 int lastindexof(object) 元素最后一次出现的位置 object set(index,object) 替换指定索引处的为指定对象 boolean addAll(index,collection) 添加指定的集合到当前集合的指定索引处 object remove(int) 删除当前集合中指定索引index处的元素,并返回被删除的元素 List sublist(int fromindex,int toindex) 返回当前集合中指定索引fromindex到toindex处的所有元素组成的子集合 ArrayList札记
数据结构是数组
特点:
增删慢,查询快;
其底层数组默认容量为10,新元素增加自动增加
LinkedList概述
底层数据存储结构式链表结构
增删快,查询慢,另外还实现了Deque接口,因此可以被当做双端对列和栈使用
设计了很多的首尾操作的方法(e 为泛型的通配符)
特有方法合集:
| 返回值 | 方法名 | 作用 |
|---|---|---|
| void | addFirst(e e) | 将指定元素e插入当前集合的开头 |
| void | addLast(e e) | 将指定元素e插入当前集合的末尾 |
| E | getFirst() | 获取当前集合中的第一个元素 |
| E | getLast() | 获取当前集合中的最后一个元素 |
| e | removeFirst() | 删除当前集合中的第一个元素 |
| e | removeLast() | 删除当前集合中最后一个元素 |
ListIterator
提供了listIterator()方法,获取listIterator对象,专门用来迭代list集合,ListIterator接口继承于Iterator接口
| 返回值 | 方法名 | 作用 |
|---|---|---|
| boolean | hasprevious() | 判断是否有下一个元素 |
| object | previous() | 获取迭代的上一个元素 |
| void | add() | 在指定位置添加元素 |
Vector向量
list接口的实现类,底层基于数组,默认容量10,每次增加一倍,是一个线程安全的集合
Vector<String> vc=new Vector<String>(); // create one vector collection; vc.capacity(); // get vector collection capacity;
Stack(栈)
list集合的实现类,继承了vector,遵循先进后出的原则
名词解释:
栈顶元素:最后入栈的元素
栈底元素:最先入栈的元素
入栈/压栈:将元素放入栈中
出栈/弹栈:将元素从栈中取出
Stack<String> s=new Stack<String>(); // create onr stack collection s.push("xxxx"); // 压栈返回值 方法名 作用 E push(E item) 将指定的元素item压入当前栈中 E(synchronized) peek() 获取栈顶元素,不删除 E(synchronized) pop() 出栈,并删除栈顶元素 int(synchronized) search() 获取时从栈顶到栈底的顺序开始查找,以1为基数,若没有返回-1;
Queue队列
collection接口下的子接口,底层是队列的数据结构存储,遵循先进先出,后进后出的原则,最先放进去的元素叫队头元素,最后放进去的元素叫队尾元素
Queue q = new ConcurrentLinkedQueue(); // 创建队列对象 q.offer("xxxxx"); // 插入队列元素常用方法
返回值 方法名 作用 boolean offer(E e) 插入元素,成功true,失败false E peek() 获取队头的元素,成功则输出,反之为null E element() 获取队头的元素,失败则抛出NosuchElementException(没有元素异常) E poll() 出队移除队头元素,失败返回null E remove() 移除队头元素,失败则抛出异常
Java学习笔记十二--集合(三)的更多相关文章
- Java学习笔记十二:Java中方法的重载
Java中方法的重载 什么是方法的重载呢? 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 s ...
- Java学习笔记(十二)面向对象---内部类
内部类的访问规则 内部类可以直接访问外部类中的成员,包括私有成员. 因为内部类中持有了一个外部类的引用,格式为:外部类名.this 外部类要访问内部类,必须要建立内部对象. class Outer { ...
- 【Java学习笔记之二十六】深入理解Java匿名内部类
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- java jvm学习笔记十二(访问控制器的栈校验机制)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...
- java se系列(十二)集合
1.集合 1.1.什么是集合 存储对象的容器,面向对象语言对事物的体现,都是以对象的形式来体现的,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式.集合的出现就是为了持有对象.集 ...
- Java学习笔记(二)——Java操作properties文件
[前面的话] 前段时间在学习和玩java web相关的东西,对于这些技术,一边学习,一边做东西,一边总结,希望可以一边成长和有所收获.有时总是思考太多反而成为了前进的阻力,所以对于生活还是简单一些,不 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十二周
java学习第十章:图形程序设计 本章,介绍的是如何编写使用图形用户界面GUI的java程序.主要讲的是如何编写定义屏幕上的窗口大小和位置的程序,如何在窗口中采用多种字体显示文本,如何显示 ...
随机推荐
- mysql创建表时字段类型选择与优化
一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...
- 基于计算机操作系统的Linux的进程管理
一.实验目的 1.熟悉和理解进程和进程树的概念,掌握有关进程的管理机制. 2.了解进程与程序.并行与串行执行的区别. 3.掌握使用Linux命令管理和操作进程的方法 二.实验内容 1. 用ps命令观察 ...
- ABP增加记录EFCore 生成数据库脚本日志到新的txt文件
由于EFCore并没直接生成脚本到txt文件,故而自己画了点时间把实现记录下来,方便给大家参考. 0.安装Microsoft.Extensions.Logging.Debug,我这里是2.1.1版本. ...
- json入门初体验
json是JavaScript对象表示法,也是轻量级的文本数据交互格式,独立于语言,能够自我描述 json文本格式在语法上与创建JavaScript对象代码相同,多以json不需要解析器,js程序能够 ...
- Unity - 存读档机制简析
本文旨在于简要分析Unity中的两种存档机制,即:PlayerPrefs数据持久化方法及Serialization数据序列化方法 较比与源项目,我另加了JSON方法.XML方法等及一些Unity设置, ...
- 〈四〉ElasticSearch的认识:基础原理的补充
目录 想想我们漏了什么 回顾 补回 集群的建立 集群发现机制 配置文件 健康状态 补充: 小节总结 分片的管理 梳理 分片的均衡分配 主副分片的排斥 容错性: 数据路由 对于集群健康状态的影响 小节总 ...
- Java基础学习笔记(三) - 抽象类和接口
一.抽象类 没有方法主体的方法称为抽象方法,包含抽象方法的类就是抽象类. Java中使用 abstract 关键字修饰方法和类,抽象方法只有一个方法名,没有方法体. public abstract c ...
- 前端get和post那些事
首先,简单介绍下,get和post请求方法,综合以往笔记,现整理如下: 一.HTTP请求比较: 两种在客户端和服务器端进行请求-响应的方法是:GET和POST. GET - 从指定的资源请求数据 PO ...
- .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台。助力《2019 中国.NET 开发者峰会》。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 准备运行程序包... 2 3. 安装.netcore. 3 4. 安 ...
- 阿里云服务器ecs + tomcat + 域名解析 部署web页面
1.购买ecs:https://www.aliyun.com/product/ecs?spm=5176.12825654.eofdhaal5.2.3bf92c4aYOB7gL&aly_as=A ...