javaList容器中容易忽略的知识点
在集合类框架中,List是使用比较多的一种
List
|---Arraylist 内部维护的是一个数组,查找快增删慢
|---LinkedList 底层是链表,增删快查询慢。
|---Vctor线程安全的现在已经不用。
我们知道任何集合都可以返回迭代器,这里的list也是的,但是list可以返回list庄永迭代器,ListIterator。这都不是要说的重点,要是的重点在下面。
1、假如说我们现在有一个list,然后我们获取list的Iterator了。如果没有使用it.next(),就直接使用remove方法的话,那么就会报错
2、对于 Iterator 的子接口ListIterator 在迭代list 集合时,还可以对元素进行添加add(obj)),修改set(obj)的操作。
要说的内容看下面一段代码:
1 public void test() throws Exception { 2 3 ArrayList list = new ArrayList(); 4 // 增加:add() 将指定对象存储到容器中 5 list.add("计算机网络"); 6 list.add("现代操作系统"); 7 list.add("java编程思想"); 8 list.add("java核心技术"); 9 list.add("java语言程序设计"); 10 System.out.println(list); 11 12 ListIterator lit = list.listIterator(); 13 lit.next(); // 计算机网络 14 lit.next(); // 现代操作系统 15 System.out.println(lit.next()); // java编程思想 16 //用指定元素替换 next 或 previous 返回的最后一个元素 17 lit.set("平凡的世界");// 将java编程思想替换为平凡的世界,如果这里使用的是lit.add的话,将会在"java编程思想"后面添加一个“平凡的世界” 18 System.out.println(list); 19 }
输出的内容将会是:
[计算机网络, 现代操作系统, java编程思想, java核心技术, java语言程序设计]
java编程思想
[计算机网络, 现代操作系统, 平凡的世界, java核心技术, java语言程序设计]
3、使用ListIterator实现倒序输出
1 import java.util.ArrayList; 2 import java.util.ListIterator; 3 4 public class Demo2 { 5 public static void main(String[] args) { 6 ArrayList list = new ArrayList(); 7 // 增加:add() 将指定对象存储到容器中 8 list.add("计算机网络"); 9 list.add("现代操作系统"); 10 list.add("java编程思想"); 11 list.add("java核心技术"); 12 list.add("java语言程序设计"); 13 System.out.println(list); 14 // 获取List专属的迭代器 15 ListIterator lit = list.listIterator(); 16 while (lit.hasNext()) { 17 String next = (String) lit.next(); 18 System.out.println(next); 19 } 20 System.out.println("***************"); 21 while (lit.hasPrevious()) { 22 String next = (String) lit.previous(); 23 System.out.println(next); 24 } 25 26 } 27 }
转载于:https://www.cnblogs.com/OliverZhang/p/6018996.html
javaList容器中容易忽略的知识点相关推荐
- CSS中容易忽略的知识点集锦
CSS中的一些冷知识 长度单位 在CSS样式层叠表中,我们可使用到的长度单位一般有如下的几种方式: 像素:px 百分比 em: 这是一个相对单位,是相对于当前元素的字体大小进行计算,也就是说 1em= ...
- FastJson序列化Json自定义返回字段,普通类从spring容器中获取bean
前言: 数据库的字段比如:price:1 ,返回需要price:1元. 这时两种途径修改: ① 比如sql中修改或者是在实体类转json前遍历修改. ②返回json,序列化时候修改.用到的是fastj ...
- 容器中的JVM资源该如何被安全的限制?
前言 Java与Docker的结合,虽然更好的解决了application的封装问题.但也存在着不兼容,比如Java并不能自动的发现Docker设置的内存限制,CPU限制. 这将导致JVM不能稳定服务 ...
- .NET程序在Linux容器中的演变
本文讲的是.NET程序在Linux容器中的演变[编者的话]Linux容器技术已被开发人员所熟知,现在.NET程序可以跑在Docker容器中,这为以Windows中心的开发人员带来了好处. [上海站|3 ...
- 5种样式实现div容器中三图摆放实例对比说明
代码地址如下: http://www.demodashi.com/demo/11593.html 效果演示: demo点查看效果 需求说明: 如下图所示为设计图,希望在图片上传无规则无规律的情况下实现 ...
- 查看docker内部路径_web应用在Docker容器中部署(Windows)
前言 容器化是软件开发的一种方法,通过该方法可将应用程序或服务.其依赖项及其配置(抽象化为部署清单文件)一起打包为容器映像. 容器化应用程序可以作为一个单元进行测试,并可以作为容器映像实例部署到主机操 ...
- python学习--关注容易被忽略的知识点--(五)面向对象编程
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
- python学习--关注容易被忽略的知识点--(四)函数式编程
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
- python学习--关注容易被忽略的知识点--(三)高级特性
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
最新文章
- JS动态生成的元素,其对应的方法不响应(比如单击事件,鼠标移动事件等)...
- 阿里云ECS上环境搭建(virtualenv+flask+gunicorn+supervisor+nginx)
- 8 一点就消失_消失的莉莉安(26)
- Service Worker,Web Worker,WebSocket的对比
- 仰望星空后,更将脚踏实地!
- Python模拟实现multipart/form-data格式上传图片文件
- 关于Android中使用Enum的一点总结
- 刚刚,2021 ACM Fellow放榜!李飞飞、谢涛、刘铁岩等13名华人学者当选
- WPF捕获事件即使这个事件被标记为Handled
- 我的世界java出生蘑菇岛,《我的世界》出生就有蘑菇岛和海底神庙的地图,附近还有村庄!...
- 用python生成一段关于文字的二维码(关于刷网课的)
- 在线教育平台项目——设计 接口定义
- Microsoft Office 2016 官方中文版
- bugku bingo题解
- Game Center
- 【SandQuant 量化投资】詹姆斯·托宾:风险条件下的流动性偏好行为
- [2016ACM多校] HDU5784 极角序 正难则反
- 同花顺镰刀三头牛指标公式源码
- saltstack配置管理和数据系统
- R-FCN: Object Detection via Region-based Fully Convolutional Networks
热门文章
- Cacti(一)之“better-cacti-templates”
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[WS标准篇]
- 机械制图中外螺纹的画法_机械制图中图纸上的各种符号代表什么意思?
- Cannot initialize a parameter of type ‘NSArray<id<RCTBridgeModule>> *‘ with an rvalue of type ‘NSArr
- Xamarin 2017.9.19更新
- Java写文件的缓冲区有多大_java – 将FileChannel#write总是写入整个缓冲区...
- flowable设计器节点属性扩展_Flowable-流程定义扩展属性
- python 最小硬币数_程序以找到要在Python中达到目标的硬币组合数量
- python6翻_洗礼灵魂,修炼python(6)--活起来的代码+列表
- java中let_java Signleton模式详解及示例代码