1. Iterator

1.1什么是Iterator?

概念:Iterator是一个接口,它是集合的迭代器,集合可以通过Iterator去遍历集合中的元素,常用API接口:

例子:

注意:

(1)Iterator只能单向移动。

(2)Iterator.remove()是唯一安全的方式来在迭代过程中修改集合;如果在迭代过程中以任何其它的方式修改了基本集合将会产生未知的行为。而且每调用一次next()方 法,remove()方法只能被调用一次,如果违反这个规则将抛出一个异常。

1.2什么是ListIterator

概念:ListIterator的功能更加强大, 它继承于Iterator接口,只能用于各种List类型的访问。可以通过调用listIterator()方法产生一个指向List开始处的ListIterator, 还可以调用listIterator(n)方法创建一个一开始就指向列表索引为n的元素处的ListIterator,汉化API如下:

由此我们可以推断出ListIterator可以:

(1)双向移动(向前/向后遍历).

(2)产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引.

(3)可以使用set()方法替换它访问过的最后一个元素.

(4)可以使用add()方法在next()方法返回的元素之前或previous()方法返回的元素之后插入一个元素.

代码实例如下:

List<String> list = new ArrayList<>();

list.add("老大");

list.add("老二");

list.add("老三");

ListIterator<String> iter = list.listIterator();

//set方法使用

System.out.println("--------------set方法的使用---------------");

while (iter.hasNext()) {

String string = (String) iter.next();

if(string.equals("老二")) {

iter.set("xxx");

}

}

for (String string : list) {

System.out.println(string);

}

System.out.println("----------------反向遍历-------------------");

// 将游标定位到集合的结尾

while (iter.hasNext()) {

iter.next();

}

// 迭代器遍历hasPrevious()方法用于反向遍历的时候判断是否还有上一个元素,并打印出上一个下标,如果有才打印,没有就是-1

while (iter.hasPrevious()) {

System.out.println(iter.previous() + "——>" + iter.previousIndex());

}

2. LinkedHashSet

概念:LinkedHashSet继承自HashSet,HashSet存入的元素是不可重复的,无序的。与HashSet相比,LinkedHashSet源码更少、更简单,唯一的区别是LinkedHashSet内部使用的是LinkedHashMap。这样做的意义或者好处就是LinkedHashSet中的元素顺序是可以保证的,也就是说遍历序和插入序是一致的。

特点:1、底层是一种链接列表和哈希表组成

2、可以保证元素的唯一性,是由哈希表决定的(hashCode()和equals())

3、可以保证元素的迭代顺序一致(有序),存储和取出一致,是由链表决定

场合:什么时候使用LinkedHashSet集合?

如果在开发中,元素唯一性,并且还要保证元素有序(存储和取出一致),使用LinkedHashSet集合。

代码:

3. LinkedHashMap

概念:HashMap是哈希表结构,可以保证键的唯一性,并不保证有序性,而LinkedHashMap是Map接口的哈希表和链表实现,具有可预知的迭代顺序。哈希表保证键的唯一性、链表保证键的有序(进出一致)

代码:

oracle 调用存储过程返回集合插入临时表_技术分享:集合相关推荐

  1. myabatis oracle 调用存储过程返回list结果集

    视频课:https://edu.csdn.net/course/play/7940 Mapper.xml 配置 <resultMap type="emp" id=" ...

  2. oracle 返回list,myabatis oracle 调用存储过程返回list结果集

    Mapper.xml 配置 call pro_emp(#{emps,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=emp ...

  3. 用.NET调用oracle的存储过程返回记录集

    最近做一个项目,为了提高数据库安全性,客户要求所有数据库操作都要放在存储过程.象一般的更新操作,返回一个值的,都比较容易实现.而要想返回记录集就比较麻烦,我在网上搜了一下,这方面的文章并不多.在此总结 ...

  4. java使用mybatis 调用存储过程返回一个游标结果集

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:IBM:Linux on System z Red Hat Enterprise Linux 7 版本:6.0,4.5 文档用途 mybat ...

  5. dapper 调用 存储过程返回值_数据库事务、存储过程、函数以及触发器之间的区别和联系...

    一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...

  6. oracle调用存储过程输出,oracle中存储过程调用存储过程(带有返回结果集)

    在oracle中,存储过程是可以调用存储过程的.其中,被调用的存储过程可以带返回游标的结果集,或者是一个定义的变量,两者都可以,在实现过程中几乎没什么差别.在调用的存储过程,要注意写好对应的游标或者定 ...

  7. oracle调用存储过程和函数返回结果集

    视频课:https://edu.csdn.net/course/play/7940 在程序开发中,常用到返回结果集的存储过程,这个在MySQL和sql server 里比较好处理,直接返回查询结果就可 ...

  8. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  9. oracle调用存储过程output,vb.net 调用oracle的存储过程的方法(带输入参数 和输出参数或者返回记录集)...

    1.直接调用存储过程 2 是用包的方式调用存储过程 3 调用存储过程且该存储过程返回记录集 这种必须使用包的方式 1.直接调用存储过程 测试存储过程为: create or replace proce ...

最新文章

  1. Android 有些机型hint不显示
  2. bitShark对Android版本的支持
  3. android 开启一个定时线程_Android异步、延迟和定时任务的简易用法
  4. PyQt Qwidget笔记
  5. 043_集合重要知识点
  6. 刚刚,阿里发布AI谣言粉碎机,识别准确率达81%
  7. 服务器时间修改日志怎么查,查看云服务器的操作日志
  8. 对称加密-DES解密
  9. 这些数学趣图,数学老师看了后会怎么想?
  10. 唯美动态个人404单页HTML源码
  11. atitit.跨语言执行cmd cli api的原理及兼容性设计草案
  12. 计算机陕西高校保研排名,陕西高校保研率排行,西安交通大学超30%排第一,西北工业第二...
  13. UDS诊断基础知识简介-ISO14229
  14. 删除表记录(delete from where )
  15. 30分钟让你成为photoshop钢笔工具…
  16. [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no enc
  17. wow服务器人数最新统计,魔兽世界怀旧服服务器人数统计 魔兽世界怀旧服人数比例查询...
  18. 分享一些正确的放松方式
  19. 如何使用kindle
  20. 30用一个例子解释mapping到底是什么

热门文章

  1. SQL_server 数据库备份信息查看
  2. 『转』图解硬件特性!
  3. 217 - leetcode -存在重复元素 -数据结构类 先排序再操作
  4. mysql 主从同步 阻塞_如何解决主从数据库同步延迟问题?
  5. Python趣味编程3则:李白买酒、猴子吃桃、宝塔上的琉璃灯
  6. Python使用numpy和pandas模拟转盘抽奖游戏
  7. Python内置函数iter()语法及应用
  8. go 查找模块位置_如何使用Go语言插件功能?
  9. mysql 日期详解_在MySQL中解析日期
  10. 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗