List与set
1,List与set的区别?
List:元素是有序的,元素可以重复,因为集合体系有索引
set:元素是无序的,元素不可以重复,集合体系没有索引
2,list里面特有的方法:
在制定的位置添加元素add()
在制定位置添加一堆元素addAll()
通过索引获取get(index)
List al= new ArrayList();
al.add("name1");
al.add("name2");
al.add("name3");
for(int i=0;i<al.size();i++)
{
System.out.println(al.get(i));
}
获取元素的位置
System.out.println(al.indexOf("name2"));
subList()包含头不包含未
List al2=al.subList(1,3);
System.out.println(al2);
根据位置获取元素
listIterator
按照角标移除remove()
按角标设置set()
3,迭代器方法产生的并发访问问题:
list中操作元素的方法有两种:集合的方法,迭代器方法
迭代器在操作list时,再用集合的方法访问就是并发访问(同时访问),
所以说,对同一个集合同时进行两种操作是不被允许的
【个人理解(仅供参考):我是将list中看成有一个指针,一个list只有一个指针,这个指针被迭代器使用的时候,再用集合去操作它,就会破坏迭代器的原来的执行路径,从而导致得到与预想不到的结果。所以就规定了在迭代器对集合操作的时候不可以使用集合的方式在去操作list】
随机推荐
- Codeforces 678F Lena and Queries
题意: 你有一个点集,有三种操作: 往集合里插入一个点\((x, y)\) 从集合中删除第\(i\)次操作插入的点 对于给出的\(q\),询问点集中\(x \cdot q + y\)的最大值 分析: ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流(stream)的套接字.TCP是Transmissi ...
- adaboost python实现小样例
元算法是对其他算法进行组合的一种方式.单层决策树实际上是一个单节点的决策树.adaboost优点:泛化错误率低,易编码,可以应用在大部分分类器上,无参数调整缺点:对离群点敏感适用数据类型:数值型和标称 ...
- idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告
idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告 https://my.oschina.net/viakiba/blog/1838296 https://www.cnbl ...
- logback mybatis 打印sql语句
logbac.xml 文件的基础配置参考的园友的 http://www.cnblogs.com/yuanermen/archive/2012/02/13/2349609.html 然后hibernat ...
- 一个漂亮的PHP验证码
自己导入字体,可以按照自己的额需要随便修改. <?php class Imagecode{ private $width ; private $height; private $counts; ...
- ogre3D学习基础13 -- 键盘控制网格动画mesh
以上一节为蓝本,这里增加一点难度,添加了四个节点,增加键盘控制移动速度,使用bool变量控制是否移动. 第一,要增加键盘控制,那就使用OIS::KeyListener,在监听器里添加一个父类KeyLi ...
- Mac OS使用brew安装memcached
1.查看安装信息 brew info memcached 显示如下: memcached: stable 1.5.9 (bottled) High performance, distributed m ...
- [oldboy-django][2深入django]初始Form组件
http://www.cnblogs.com/wupeiqi/articles/6144178.html 1 初始Form组件 # Form验证(初始Form组件验证) - 问题: - 无法记住上次提 ...
- PAT1029
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在2行中分别给出应该输入的文字.以及实际 ...